我希望能够以编程方式确定网站针对特定关键字的搜索引擎排名页面。它必须每天扩展到几百个查询。
第一个想法:抓取
在Google的服务条款中,它说:你 特别同意不访问(或 尝试访问)任何服务 通过任何自动化手段(包括 使用脚本或网络抓取工具) [...] 。 所以这不是一个选择......
第二个想法:使用第三方工具
显然有一些网站可以确定SERP(例如Raven / SEOMoz?) - 可能至少有一个人提供API来做到这一点。 但很可能花费不少钱
PS:他们到底怎么做(见想法1)?
第三个想法:使用被动SERP
我认为Google Analytics(所有网站都使用它)可以modified来获取排名 - 但是:我无权更改网站配置文件的过滤设置。
答案 0 :(得分:1)
最近谷歌改变了SERP页面的HTML结构,因此旧的抓取脚本不起作用。我重写了旧的SERP脚本以解决新的变化,请检查http://dobrisa.com/。脚本对于想要跟踪各种关键字的SERP排名的小公司非常有用,也可以轻松修改以添加更多功能。原因我说小公司因为Google不喜欢Scrapping,我知道他们的业务是基于其他人的网站,但他们不喜欢当有人对他们这样做:),无论如何他们会惩罚你,如果他们禁止你的IP地址发现你的行为指示。 到目前为止,我还没有找到其他有用的方法来确定Google排名而不是抓取。
答案 1 :(得分:0)
首先查看Google网站管理员工具“您在网站上的网站” - > “搜索查询”...您可以将数据导出为csv,并查看您的目标关键字是否出现在该列表中。
认为这基本上是最好的方式。为什么? SERP!= SERP - 您看到的SERPss(或您的爬虫看到的)不是其他人看到的SERP,人们看到的SERP基于这样一个因素(您的网络历史记录,登出,登录,谷歌)您获得服务的数据中心,您的位置,......仅举几例)任何爬行解决方案只是一个无意义的快照。您提到的第三方服务只是忽略了谷歌指南。你也可以这样做 - 但谷歌会不时阻止你(所以不推荐,如果你从公司网络中做到这一点,你有时会遇到访问谷歌的问题)
或使用google网络搜索API(但这些结果主要是!=您在真正的SERP上看到的内容)
对于GA:获取访问权限(无论如何),制作现在的个人资料,使用过滤器。 GA中有太多信息,排名数据只是冰山一角。
p.s。:另请参阅https://webmasters.stackexchange.com/了解更多SEO问题
答案 2 :(得分:0)
我所做的是更改javascript跟踪代码以获取cd和q referer参数并将其保存在db中。您可以使用ajax将其保存在任何您想要的位置。 但是,最好有网站管理员工具数据源来比较平均位置和位置跟踪数据。 SeoMoz为您提供关键字冗余,链接交叉和OSE工具,我认为它可能值99美元。 Raventools是另一个很好的选择,包括其他第三方Apis作为semrush。
答案 3 :(得分:0)
我们遇到了类似的问题,不是针对搜索引擎优化,而是尝试从谷歌搜索结果中提取机器学习项目的图像。我们已经结束了构建我们自己的解决方案:Serp Api
我们为每个请求运行一个完整的浏览器,在世界各地都有IP,并且能够以透明的方式解决CAPTCHA。我们还有Ruby,Python和Java集成。否则,您可以使用常规获取请求来获取我们的数据。
答案 4 :(得分:0)
我建议您退房https://www.serphouse.com 使用SERPhouse API,您可以定位任何地理位置+域名+国家+语言,并以json格式获取数据