如何使用PHP刮取SERP(用于小型项目)

如何使用PHP刮取SERP(用于小型项目),php,web-scraping,serp,Php,Web Scraping,Serp,我原以为这会很简单,但事实证明这很有挑战性。谷歌现在使用https://,而必应重定向以删除HTTP:// 如何获取给定搜索词的前5个URL? 我尝试了几种方法(包括将结果加载到iframe中),但我所尝试的一切都是徒劳的 我甚至不需要一个代理,因为我说的是一个非常小的数量的结果将被收获,并将只使用它的20-30个条款,每几个月一次。几乎不足以引起搜索巨头的鞭笞 任何帮助都将不胜感激 以下是我尝试过的一个例子: $query=urlencode(“测试”); preg_match_all('/'

我原以为这会很简单,但事实证明这很有挑战性。谷歌现在使用
https://
,而必应重定向以删除
HTTP://

如何获取给定搜索词的前5个URL?

我尝试了几种方法(包括将结果加载到iframe中),但我所尝试的一切都是徒劳的

我甚至不需要一个代理,因为我说的是一个非常小的数量的结果将被收获,并将只使用它的20-30个条款,每几个月一次。几乎不足以引起搜索巨头的鞭笞

任何帮助都将不胜感激

以下是我尝试过的一个例子:

$query=urlencode(“测试”);
preg_match_all('/',file_get_contents('http://www.bing.com/search?q=“.urlencode($query)),$matches);
回声内爆(“
”,$matches[1]);
有三种主要方法。首先,使用你正在使用的搜索引擎的官方API——谷歌有一个,而且大多数都会。这些通常是数量有限的,但是对于你所说的数字,你会没事的

第二种方法是使用scraper程序访问搜索页面,输入搜索词,然后提交相关表单。既然您指定了PHP,我推荐您。内部使用Guzzle和Symfony组件,所以一定很好!上面链接中的自述文件向您展示了这是多么容易。HTML片段的选择是使用XPath或CSS完成的,因此它也很灵活


最后,考虑到所需的低消耗量,考虑从中下载免费软件包。这使您可以使用点击式界面构建刮板,并学习如何在将数据存储到本地或云数据库之前刮板页面的各个区域。

有三种主要方法。首先,使用你正在使用的搜索引擎的官方API——谷歌有一个,而且大多数都会。这些通常是数量有限的,但是对于你所说的数字,你会没事的

第二种方法是使用scraper程序访问搜索页面,输入搜索词,然后提交相关表单。既然您指定了PHP,我推荐您。内部使用Guzzle和Symfony组件,所以一定很好!上面链接中的自述文件向您展示了这是多么容易。HTML片段的选择是使用XPath或CSS完成的,因此它也很灵活


最后,考虑到所需的低消耗量,考虑从中下载免费软件包。这使您可以使用点击界面构建刮板,并学习如何在将数据存储到本地或云数据库之前刮板页面的各个区域。

您还可以使用第三方服务,如获取谷歌搜索结果

它应该很容易集成::

$query = [
    "q" => "Coffee",
    "google_domain" => "google.com",
];

$serp = new GoogleSearchResults();
$json_results = $serp.json($query);

.

您还可以使用第三方服务,如获取谷歌搜索结果

它应该很容易集成::

$query = [
    "q" => "Coffee",
    "google_domain" => "google.com",
];

$serp = new GoogleSearchResults();
$json_results = $serp.json($query);

.

对于如此少量的数据,纸和铅笔不适合你吗?我有,但似乎不能正确使用它。我真正需要的是Bing的SERP中的
标记。@MikeW的重点是使其自动化,因此我不必手动检索20-30个术语中的前5个左右的URL。现在努力工作,以后再轻松工作。看看这里有这么少量的数据,纸和铅笔不适合你吗?我有,但似乎不能正确使用它。我真正需要的是Bing的SERP中的
标记。@MikeW的重点是使其自动化,因此我不必手动检索20-30个术语中的前5个左右的URL。现在努力工作,以后再轻松工作。看看这里很酷,谢谢你花时间回答了大量的选项。很酷,谢谢你花时间回答了大量的选项。