具有cURL的Proxymillion IP

时间:2017-03-21 18:59:36

标签: php curl web-scraping

我正在使用proxymillion从谷歌抓取数据。我正在使用cURL但没有得到结果并得到错误错误405(方法不允许)!! 1

我的代码

$proxies[] = 'username:password@IP:port';  // Some proxies require user, password, IP and port number
$proxies[] = 'username:password@IP:port';  // Some proxies require user,   password, IP and port number
$proxies[] = 'username:password@IP:port';  // Some proxies require user,     password, IP and port number
$proxies[] = 'username:password@IP:port';  // Some proxies require user,  password, IP and port number


if (isset($proxies)) {  // If the $proxies array contains items, then
$proxy = $proxies[array_rand($proxies)];    // Select a random proxy from the array and assign to $proxy variable
}
$ch = curl_init();
if (isset($proxy)) {    // If the $proxy variable is set, then
    curl_setopt($ch, CURLOPT_PROXY, $proxy);    // Set CURLOPT_PROXY with proxy in $proxy variable
}
$url="https://www.google.com.pk/?gws_rd=cr,ssl&ei=8kXQWNChIsTSvgSZ3J24DA#q=pakistan&*";


curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
// curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
// curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$page = curl_exec($ch);
curl_close($ch);
$dom = new simple_html_dom();
$html = $dom->load($page);

$title=$html->find("title",0);
echo $title->innertext;

1 个答案:

答案 0 :(得分:0)

如果我猜对了你正在寻找一个用于抓取谷歌的预算解决方案,那么为什么你在评论中链接的示例代码中换了代理商提供商呢?

您不能使用大量共享代理(这是您提供的服务提供商),Google会直接或在几页内发现它们并阻止它们。
另外使用“& ei = 8kXQWNChIsTSvgSZ3J24DA”并不是最好的主意,这不是Google的默认条目,可能会将您的scrape请求与您的浏览器(您最初拥有该参数)链接起来。

如果您寻找预算解决方案,您可以考虑使用抓取服务(此处为php源代码:http://scraping.services/?api&chapter=Source%20Code),这在大多数情况下比私有代理便宜,并允许以几美元的价格搜索数万个关键字。

或者,如果您想继续该路线,我建议您使用简单的bash脚本测试您的proxymillion性能 在bash脚本中使用curl或lynx(如果你使用linux,否则你可以在带有MinGW / msys的窗口上执行相同操作)并让他们使用代理访问Google。查看它是否有效或是否在几页内被阻止 但即使你成功了:任何共享代理提供商在“性能”方面都是不可靠的。