如何在谷歌搜索中获得搜索结果,但不使用API。
我尝试了很多方法,但谷歌检测到ip服务器并打印出一个错误。我使用的功能:
fopen
fsocket
...
例如,这个函数可以从其他网站获取html,但对于谷歌搜索,谷歌会返回一个错误。
有没有一种方法可以让我从谷歌获得搜索结果?
function openpage($ur)
{
$buf="";
$ur=str_replace(" ","+",$ur);
$fp = fopen($ur, "rb");
if ($fp)
{
while(!feof($fp)) $buf=$buf.fgets($fp);
fclose($fp);
}
return $buf;
}
我以前做过一个关于它的小项目。我使用了HTMLagilitypack。
这是你可以检查的来源。
https://github.com/serdarb/Google-Resultshttps://github.com/serdarb/Google-Results/blob/master/frmMain.cs
HtmlAgilityPack.HtmlNodeCollection hrefList = htmlDoc.DocumentNode.SelectNodes("//div//ol//li[@class='g']//h3//a");
但不要发送给许多请求。。。谷歌要求提供captcha或返回错误。