在PHP中解析谷歌搜索结果 - 关键字检查器


Parse google search result in PHP - Keyword checker

我想做一个小脚本,我可以每天在谷歌上搜索我的关键字。

最好的方法是什么?

如果我使用 API,我认为此任务没有任何 API,是否有限制?

我想检查前 100-200 个结果。

  1. 手动搜索一次,复制指向结果页面的结果 URL
  2. 编写一个 PHP 脚本,该脚本:
    • 使用以下 file-get-contents() 从该 URL 获取内容
    • 将完整的 HTML 结果解析回仅包含与您相关的搜索结果数据的 PHP 数组
    • 将阵列写入数据库或文件系统
  3. 在服务器上将 PHP 脚本作为 cron 作业运行(每小时、每天、随心所欲)
  4. 准备好在 Google 更改结果页格式时更新脚本
  5. 给自己找个律师

更好的是,按照马里奥的指示为自己获得商业许可证。这样,您可以跳过上述所有步骤(尤其是 4 和 5 可能会错过)。

您的最大问题是Google结果现在非常自定义 - 取决于您要搜索的内容,可以根据您的确切位置(不仅仅是国家/地区),一天中的时间,搜索历史等自定义结果。

因此,您的结果可能不会完全恒定,并且肯定不会与几英里外具有不同浏览器历史记录的人相同,即使他们搜索完全相同的东西。

有各种SEO公司提供工具使结果更加标准化,这些工具不会违反Google服务条款。

尝试:http://www.seomoz.org/tools 和 http://tools.seobook.com/firefox/rank-checker/

我写了一个php脚本,它优雅地解析/抓取前1000个结果的任务,没有任何谷歌的个性化效果,以及一个名为真正的谷歌搜索API的更好版本(它概括了任务,返回一系列格式良好的结果)这两个脚本都在服务器端工作,并直接从结果页面解析结果 uging cURL 和正则表达式

几年前,我与GooHackle的人一起工作,他们有一个Web应用程序,可以完全满足您的需求,而且成本不高,他们每月的计划低于30美元。

就像Blowski已经说过的那样,现在Google的结果是非常定制的,但是如果您始终使用相同的国家和查询参数进行搜索,则可以非常准确地查看多个关键字和域的排名。

如果你想自己开发应用程序也不会太难,你可以使用 PHP 或任何其他语言定期执行查询并将结果保存在数据库中。基本上只有两点需要解决,做HTTP查询(使用cURL很容易完成)和解析结果(你可以使用正则表达式或DOM结构)。然后,如果您想监控数千个关键字和域,事情会变得更加困难,因为Google开始禁止您的IP地址。

我认为像这样的应用程序来自"大人物",来自不同国家/地区,有数百或数千个不同的IP地址。这使他们能够收集大量关键字的Google结果。

关于我最初提到的在线工具,他们还有一个任何人都可以使用的在线谷歌抓取工具,并显示它是如何工作的,只需查询和解析。

SEOPanel 解决了类似的问题:您可以下载开源代码并为搜索结果提取一个简单的关键字解析器。使用的"技巧"是减慢查询搜索的速度,而项目由Google(代码)自己托管。