2012-03-14 38 views
0

我想编码一些算法或解析器应该在谷歌搜索结果中获取网站位置。这个问题是每次谷歌页面布局会改变我应该改正/改变算法。你认为家伙会如何经常改变?有没有关于确定Google的网站位置的技巧/建议/技巧?获取谷歌搜索结果的网站位置

如何制作稳健的位置检测算法?

我想用C#,.NET 2.0和HtmlAgilityPack用于这一目的。任何意见或建议将非常感激。在此先感谢,伙计们!


之后的更新

我知道,谷歌将显示的验证码,以防止机器查询。我得到了特别的服务,这将承认任何验证码。你们能否告诉我你们在精确刮擦结果方面的经验?

回答

1

asked about this一年前,得到了一些很好的答案。绝对是敏捷包是要走的路。

最后我们确实编写了一个粗略的刮板,做了这项工作,没有任何问题跑。我们比较轻松地点击Google(每天约25条查询)。我们采取了随机预防措施1)顺序和2)一天的时间和3)查询之间的时间暂停。我不知道是否有任何帮助,但我们从未被验证码击中。

现在我们暂时不打扰它了。

它的主要弱点是/是:

  • 我们只费心去检查的第一页(我们也许可以有编码,从而看了第一X页的增强版,但也许这将是一个更高风险 - 就谷歌检测而言)。

  • 其结果是不可靠的,并跳动。你可能每周都会获得第八名,除非你是第三名的随机日。也许 ...仔细采取每天或每周的阅读和记录我们的排名整体思路是太有缺陷的

要获得关于谷歌打破你的代码的问题:谷歌没有在我们运行的所有月份做出根本性重大更改但它们改变了这打破了我们保存结果(可能是CSS变更?)的“快照”,它没有提高结果的可信度。

+0

非常感谢您的体验! – kseen 2012-03-14 15:56:17

2

谷歌提供的APIs过多访问他们的服务。搜索有Custom Search API

+2

这是以合法的方式做到这一点的唯一方法。然而结果是有用的,很少准确。 – LiamB 2012-03-14 12:30:51

+0

@皮诺我同意你的观点。 – kseen 2012-03-14 12:53:28

+1

API中是否存在明确禁止您进行自动查询的T&C? – hawbsl 2012-03-14 15:05:57

-1

我敢肯定,您不会轻易访问Google搜索结果。他们一直试图阻止人们这样做。

如果想过屏幕抓取 - 要知道,他们将开始显示的验证码,你将无法得到任何东西。

+0

如果您downvote,您也可以添加评论,并解释原因 – 2012-04-13 10:25:44

1

几个月前我们经历了这个过程。我们尝试了上面提到的API,结果甚至不接近实际的搜索结果。 (Google提供了大量信息)。

刮的页面是一个问题,谷歌似乎改变标记每隔几个月,也有检查,在地方工作,如果你是人还是没有。

我们最终放弃了与试剂盒市售(而且经常更新)位的人去。

+0

它是什么工具包? – kseen 2012-03-14 12:54:43

1

我已经编码了几个项目,解析有机结果和adwords结果。 HTML敏捷包肯定是要走的路。

我每隔3分钟运行一次查询,我认为这从来没有触发过CAPTCHA。

关于格式变化,我正在接受UL的ID(从这里回忆),并且只在一年左右才改变一次(有机和adwords)。

虽然如上所述,谷歌并不喜欢你这样做! :-)