【问题标题】:Obtaining Google search results' site position获取谷歌搜索结果的站点位置
【发布时间】:2012-03-30 21:46:51
【问题描述】:

我想编写一些算法或解析器,以便在谷歌搜索结果中获取站点位置。问题是每次谷歌页面布局发生变化时,我都应该更正/更改算法。你认为男人真的会经常改变吗?是否有任何关于确定 Google 网站位置的技术/建议/技巧?

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

我想为此目的使用 C#、.NET 2.0 和 HtmlAgilityPack。任何建议或建议将不胜感激。提前谢谢各位!


发布更新

我知道谷歌会显示验证码以防止机器查询。我为此得到了特殊服务,可以识别任何验证码。你们能告诉我你在精确抓取结果方面的经验吗?

【问题讨论】:

    标签: c# .net parsing html-agility-pack google-search


    【解决方案1】:

    我为此编写了几个项目,解析自然搜索结果和 adwords 结果。 HTML 敏捷包绝对是要走的路。

    我认为每 3 分钟运行一次查询,但从未触发验证码。

    关于格式更改,我了解了 UL 的 ID(这里是凭记忆说的),大约一年只更改一次(有机和广告词)。

    不过,如上所述,Google 并不喜欢您这样做! :-)

    【讨论】:

      【解决方案2】:

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

      最后,我们确实编写了一个粗略的刮板,它完成了这项工作并且运行没有任何问题。我们对谷歌的访问相对较少(每天大约 25 个查询)。我们采取了随机化 1)顺序和 2)一天中的时间和 3)查询之间暂停时间的预防措施。我不知道这是否有帮助,但我们从未被验证码击中。

      我们现在不太在意它。

      它的主要弱点是/是:

      • 我们只费心检查第一页(我们也许可以编写一个查看前 X 页的增强版本,但就被 Google 检测而言,这可能会带来更高的风险)。

      • 它的结果不可靠并且跳来跳去。您可能连续数周每天都排在第 8 位,除了您排在第 3 位的随机一天。也许......仔细阅读每日或每周阅读并记录我们的排名的整个想法太有缺陷了

      回答您关于 Google 破坏您的代码的问题:Google 在我们运行它的所有几个月里并没有做出根本性的重大改变,但他们改变了 一些东西,这破坏了我们保存的“快照”结果(可能是 CSS 更改?)对提高结果的可信度没有任何帮助。

      【讨论】:

      • 非常感谢您告诉我们您的经验!
      【解决方案3】:

      几个月前我们经历了这个过程。我们尝试了上面提到的 API,结果甚至与实际搜索结果都不接近。 (谷歌有很多信息)。

      抓取页面是一个问题,谷歌似乎每隔几个月就会更改一次标记,并且还会检查您是否是人类。

      我们最终放弃了,转而使用市售(并且经常更新)的套件。

      【讨论】:

        【解决方案4】:

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

        如果考虑屏幕抓取 - 请注意他们将开始显示验证码,而您将无法获得任何信息。

        【讨论】:

        • 如果你投反对票,你也可以添加评论并解释原因
        【解决方案5】:

        Google 提供了大量的APIs 来访问他们的服务。搜索有Custom Search API

        【讨论】:

        • 这是以合法方式进行的唯一方法。然而结果有点没用,很少准确。
        • API 中没有明确禁止您进行自动查询的条款和条件吗?
        猜你喜欢
        • 2014-02-09
        • 1970-01-01
        • 2016-10-11
        • 2012-02-03
        • 2015-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-21
        相关资源
        最近更新 更多