我使用php从谷歌搜索结果中提取数据。 这是我在php中的代码。
<?php
$url="https://www.google.co.in/search?
q=allintext:Theatre%20Actors&sort=date&cr=countryIN&aqs=chrome..69i57.1033j0j7&sourceid=chrome&es_sm=93";
$homepage = file_get_contents($url);
$ans = htmlentities($homepage);
$doc = new DOMDocument();
@$doc->loadHTML($homepage);
$tags = $doc->getElementsByTagName('h3');
$finder = new DOMXPath($doc);
$node = $finder->query("//h3[contains(@class, 'r')]");
foreach ($node as $tag) {
$temp = $tag->getElementsByTagName('a');
$string = "";
foreach ($temp as $key) {
$k=0;
$data = $key->getAttribute('href');
//echo $data;
for($i=0;$i<strlen($data);$i++){
if($data[$i]=="&") break;
if($data[$i]=="="){
$k=1; continue;
}
if($k==1){
$string.=$data[$i];
}
}
}
$idx= split(":", $string);
if(strcmp($idx[0],"http")!=0 && strcmp($idx[0],'https')!=0) continue;
$ans = '<a href='.$string.'>'.$string.'</a>';
echo $ans;
echo '<hr>';
}
?>
运行此脚本后,出现此错误: 警告:file_get_contents(https://www.google.co.in/search?q=allintext:Theatre%20Actors&sort=date&cr=countryIN&aqs=chrome..69i57.1033j0j7&sourceid=chrome&es_sm=93):无法打开流:HTTP请求失败!第4行/opt/lampp/htdocs/search/script.php中的HTTP / 1.0 503服务不可用
请帮忙。 在此先感谢。
答案 0 :(得分:2)
也许Google阻止了您的请求: - 如果您经常运行脚本 - 谷歌本身不喜欢像'file_get_contents'
这样的机器人另见:HTTP request failed! HTTP/1.1 503 Service Temporarily Unavailable