嗨,我正在尝试解析谷歌结果页面以提取所有 URL
Posted
技术标签:
【中文标题】嗨,我正在尝试解析谷歌结果页面以提取所有 URL【英文标题】:Hi, I am trying to parse google results page to extract all the URL's 【发布时间】:2020-12-01 19:18:06 【问题描述】:我已尝试使用以下代码从 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>';
?>
【问题讨论】:
【参考方案1】:更改最后一个循环:
$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);
但你只能用这个来做同样的事情:)(加上你最后的 2 个“需求”)
<?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", $result, FILE_APPEND);
?>
【讨论】:
嗯,这有点帮助。但我想将结果作为一个列表,我可以将其存储为文本文件。 我得到的结果也是无法打开的链接。你能帮帮我吗 我编辑了保存到文件的响应(删除 FILE_APPEND 选项以在每次更新时覆盖文件。另一方面,在您想要保存在文件中的消息中,第二个是能够点击它......你必须决定;)要恢复可点击的链接,你必须删除开头的“/ url?q =”然后通过标签使用url 致命错误:未捕获错误:调用 C:\xampp\htdocs\tutorial youtube\website links.php:10 中的未定义函数 file_put_content() 堆栈跟踪:#0 main 在 C 中抛出: \xampp\htdocs\tutorial youtube\website links.php 在第 10 行 这将是我的最后一个答案,因为你一直在问新问题,甚至没有验证我与你最初问题相关的答案,你就没有玩游戏。 => list ($url, $tmp) = explode ("&", $url, 2);以上是关于嗨,我正在尝试解析谷歌结果页面以提取所有 URL的主要内容,如果未能解决你的问题,请参考以下文章
使用 Beautiful Soup 提取链接的等效正则表达式