PHP CURLで検索条件を入力して表示するWebページの情報を取得する方法をまとめました。
※目次をクリックすると目次の下部にコンテンツが表示されます。
設定情報を確認
ブラウザで対象Webページにアクセスし、そのHTTPパケットをFiddlerでモニタし、PHP CURLで設定する項目を確認します。
モニタツールFiddlerについては下記記事参照。
PHP CURLでリファラーとユーザーエージェントを設定してWebページを取得
1)Fiddlerを起動
2)ブラウザで対象Webページにアクセスし、検索条件を入力してWebページを表示
3)PHP CURLで設定する項目を確認
ブラウザのアドレスバーのURLを確認し、Fiddlerの左ペインで該当するURLのリクエストを選択します。
“Inspectors”タブ→”Headers”をクリックし、HTTPパケットのヘッダーを表示し、下記情報を確認します。
①リクエストURI
Fiddlerでも確認できますが、ブラウザのアドレスバーの方が簡単に確認出来ます。
例)http://www.example.com/search/?項目1=入力値1&項目2=入力値2&・・・
②リファラー
“Referer:”と記載されている部分の値を取得。
例)
Referer: http://www.example.com/・・・
③ユーザーエージェント
“User-Agent:”と記載されている部分の値を取得。
例)
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36
モニタツールFiddlerについては下記記事参照。
PHP CURLでリファラーとユーザーエージェントを設定してWebページを取得
1)Fiddlerを起動
2)ブラウザで対象Webページにアクセスし、検索条件を入力してWebページを表示
3)PHP CURLで設定する項目を確認
ブラウザのアドレスバーのURLを確認し、Fiddlerの左ペインで該当するURLのリクエストを選択します。
“Inspectors”タブ→”Headers”をクリックし、HTTPパケットのヘッダーを表示し、下記情報を確認します。
①リクエストURI
Fiddlerでも確認できますが、ブラウザのアドレスバーの方が簡単に確認出来ます。
例)http://www.example.com/search/?項目1=入力値1&項目2=入力値2&・・・
②リファラー
“Referer:”と記載されている部分の値を取得。
例)
Referer: http://www.example.com/・・・
③ユーザーエージェント
“User-Agent:”と記載されている部分の値を取得。
例)
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36
PHP CURLのコード作成
<?php $target = "上記①で取得した情報"; $agent = "上記③で取得した情報"; $ref = "上記②で取得した情報"; $sc = curl_init(); curl_setopt($sc, CURLOPT_URL, $target); curl_setopt($sc, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($sc, CURLOPT_USERAGENT, $agent); curl_setopt($sc, CURLOPT_REFERER, $ref); curl_setopt($sc, CURLOPT_PROXY, '127.0.0.1:8888');//Fiddler監視用 $web_page = curl_exec($sc); curl_close($sc); var_dump($web_page); ?>