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这是网址 – Umair
嗨兄弟,您可以在这种情况下使用Guzzle替换Goutte吗?我已经成功与Guzzle –
我已经更新我的源代码与Guzzle很好地工作。它与Goutte类似。 –