如何解决嗨,我正在尝试解析Google结果页以提取所有网址
我尝试了以下代码来从Google搜索结果中获取所有URL的列表。但是我可以找到带有说明的URL。我只想将URL作为列表。
<?php
include('simple_html_dom.php');
function file_get_contents_curl($url)
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); //Set curl to return the data instead of printing it to the browser.
curl_setopt($ch,CURLOPT_URL,$url);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$query = "what is a car";
$url = 'http://www.google.com/search?q=' . urlencode($query) . '';
$scrape = file_get_contents_curl($url);
//gettype($scrape);
//echo $scrape;
$domResults = new simple_html_dom();
$domResults->load($scrape);
foreach ($domResults->find('a[href^=/url?q]') as $element) {
echo $element . '<br><br>';
}
?>
解决方法
使用以下命令更改最后一个循环:
$result = "";
foreach($domResults->find('a[href^=/url?q]') as $element) {
$result .= $element->href."\n";
//echo $element.'<br><br>';
}
file_put_contents("myresult.txt",$result,FILE_APPEND);
,但您只能使用此方法:)(加上最后两个“需求”)
<?php
include ('simple_html_dom.php');
$query = "what is a car";
$html = file_get_html('http://www.google.com/search?q='.urlencode($query));
$result = "";
foreach($html->find('a[href^=/url?q]') as $element) {
$url = $element->href;
$url = str_replace("/url?q=","",$url);
$result .= $url."\n";
echo "<a href='".$url."'>".$url."</a><br>";
}
file_put_contents("myresult.txt",FILE_APPEND);
?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。