1
実際にボットをブロックするサイトを削り取ろうとしています。PHP Goutteeを使用してカスタムヘッダーを送信する方法
私はこのコードをPHP cURLで使用して、閉塞を取り除いています。
$headers = array(
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Encoding: zip, deflate, sdch'
, 'Accept-Language:en-US,en;q=0.8'
, 'Cache-Control:max-age=0',
'User-Agent:' . $user_agents[array_rand($user_agents)]
);
curl_setopt($curl_init, CURLOPT_URL, $url);
curl_setopt($curl_init, CURLOPT_HTTPHEADER, $headers);
$output = curl_exec($curl_init);
これはうまくいきます。
しかし、私はPHP Goutte使用していますが、私はこのライブラリ
$headers2 = array(
'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Encoding' => 'zip, deflate, sdch'
, 'Accept-Language' => 'en-US,en;q=0.8'
, 'Cache-Control' => 'max-age=0',
'User-Agent' => $user_agents[array_rand($user_agents)]
);
$client = new Client();
foreach ($headers2 as $key => $v) {
$client->setHeader($key, $v);
}
$resp = $client->request('GET', $url);
echo $resp->html();
を使用してしかし、私は、私はこする午前サイトからブロックされます。このコードを使用して同じ要求を生成します。
Goutteeを使用してヘッダーを正しく使用するにはどうすればいいですか?
http://www.yellowpages.com.au/search/listings?clue=Builders&locationClue=Sydney%2C+2000&mappable=true&selectedViewMode=listこれはURL – Umair
です。こんにちは、このケースではGuoutをGoutteに置き換えることができますか?私はGuzzleで成功しました –
Guzzleでうまく動作するソースコードを更新しました。これはGoutteと似ています。 –