【问题标题】:Is it possible to use Googlebot's user agent token to detect it rather than the full user agent string?是否可以使用 Googlebot 的用户代理令牌而不是完整的用户代理字符串来检测它?
【发布时间】:2020-02-23 12:41:59
【问题描述】:

发件人:https://support.google.com/webmasters/answer/1061943?hl=en

下表显示了 Google 各种产品和服务使用的爬虫:

  • 用户代理令牌用于 robots.txt 中的 User-agent: 行,以便在为您的网站编写抓取规则时匹配抓取工具类型。有的爬虫拥有多个token,如表所示;您只需要匹配一个爬虫令牌即可应用规则。此列表不完整,但涵盖了您可能会在您的网站上看到的大多数爬虫。

  • 完整的用户代理字符串是对爬虫的完整描述,出现在请求和您的网络日志中。

问题

从上面的摘录中我们可以看到,可以使用 robots.txt 文件中的 用户代理令牌 进行匹配,从而检测爬虫。

我想在我的服务器上使用 用户代理令牌 来检测 Googlebot 抓取工具请求。所以我不必硬编码完整的用户代理字符串

但是request headers 中是否存在用户代理令牌?是否可以使用它还是应该坚持完整的用户代理字符串

【问题讨论】:

    标签: web-crawler httprequest googlebot


    【解决方案1】:

    如果您比较“用户代理令牌”和“完整用户代理字符串”列上的值,您可以看到“产品令牌”也可用于“完整用户代理字符串”。因此您可以检查“完整用户代理字符串”是否包含“用户代理令牌”。

    “完整用户代理字符串”上的数字在未来将比“产品令牌”更频繁地更改。

    【讨论】:

    • 谢谢!您是否会建议将其作为检测网络爬虫的良好做法?我可以在生产中使用它吗?我知道这个(用户代理字符串)很容易被欺骗,但我不担心有人在我的网络应用程序上“欺骗网络爬虫”。
    • 为什么要检测网络应用程序上的网络爬虫?这是一种检测网络爬虫的方法。如果 Goolge 在“用户代理令牌”和“完整用户代理字符串”上使用不同的名称,此系统将不起作用。但目前名称相同。
    • 我想通过为网络爬虫做 SSR 来改进 SEO。我的应用是使用 React 和 Firebase 构建的单页应用。默认情况下它是客户端渲染和路由的。
    猜你喜欢
    • 2011-06-26
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    • 1970-01-01
    • 2013-06-27
    • 1970-01-01
    相关资源
    最近更新 更多