Google 検索からデータの一部を抽出する場合、以前は USER-AGENT を偽造することでデータを取得できましたが、現在は機能しません。パケット キャプチャ データを使用すると、Google が Cookie を特定していることがわかりました。Cookie がない場合、302 ジャンプが直接返され、数十の 302 ジャンプが連続してデータがまったくキャプチャされません。
したがって、検索コマンドを送信するときは、まず Cookie を抽出して保存し、保存した Cookie を使用して再度検索コマンドを送信し、データを正常にキャプチャする必要があります。これは、実際にはフォーラムの模擬ログインと同じです。まず POST でログインし、Cookie を取得して保存し、その Cookie を使用してアクセスします。
PHP コードは次のとおりです:
コードをコピーします コードは次のとおりです:
header('Content-Type: text/html; charset=utf-8');
$ cookie_file = dirname( __FILE__).'/cookie.txt';
//$cookie_file = tempnam("tmp","cookie");
//まず Cookie を取得して保存します
$url = "http:// www.google.com .hk";
$ch =curl_init($url); //初期化
curl_setopt($ch, CURLOPT_HEADER, 0); //ヘッダー部分を返さない
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true ); //直接出力する代わりに文字列を返します
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file) //Cookieを保存します
curl_exec($ch);
curl_close($ch);
//保存されたCookieを使用しますもう一度アクセスするには上記をクリックしてください
$url = "http://www.google.com.hk/search?oe=utf8&ie=utf8&source=uds&hl=zh-CN&q=qq";
$ch =curl_init($url);
curl_setopt ($ch, CURLOPT_HEADER, 0) ;
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file) //上記で取得した Cookie を使用します
$response =curl_exec($ch);
curl_close($ch);
echo $response;
?>
http://www.bkjia.com/PHPjc/824998.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/824998.html技術記事 Google 検索からデータを抽出するために、以前は USER-AGENT を偽造してデータを取得できましたが、現在は機能しません。ぜひご利用ください...