【问题标题】:Google crawl kills places api quota谷歌爬虫杀死了地方 api 配额
【发布时间】:2016-03-27 17:38:29
【问题描述】:

我们的网站上有一些 API,其中一个是地方 API。 当 google 蜘蛛抓取我们的网站时,它将达到我们的位置 API 的配额。

我一遍又一遍地重置 API,它变得非常累人!

我还将我的网站设置为使用相同的 API(谷歌位置)运行 3 个不同的 API 项目,并使用逻辑使其用完一个,但是切换到下一个等;即使现在每天有 450,000 次调用,到中午谷歌搜索蜘蛛已经杀死了所有 3 个 API !!!

现在这样我的用户就不能再使用任何使用 places API 的部分了,这是一个大问题!!!我不会因为谷歌点击谷歌 API 调用而被收费,但它正在破坏我网站上的用户体验,并且不会被容忍!

请马上帮忙!

我想在他们的系统中修复这个错误是由谷歌自己负责的,正如您在上面所读到的那样,我个人确实无能为力,因为我已经为我的用户在访问我的网站时的体验做了所有我能做的事情。

【问题讨论】:

    标签: php


    【解决方案1】:

    这不是他们系统中的错误,如果您有数十万个唯一网址都进行 API 调用并且您没有阻止使用 robots.txt (see here) 抓取它们,这就是您网站中的错误。

    【讨论】:

    • 这是一个错误,当抓取点击任何其他 google api 时它不算数,它只发生在地点 api 上
    • 而且我也不想不索引这些可用页面,我按照他们看到的去做
    • @KellyMartin 如果 Google 网络爬虫(或任何其他网络爬虫)爬取发出 API 请求的页面,那么这将计入您的 API 配额。这是预期的行为。 Google 无法知道您的网络应用是代表机器人还是真实用户发出 API 请求。
    • 很明显你已经在Google Product Forum上得到了同样的答案。
    • 正如我之前所说,即使谷歌在电话中也同意它不应该改变配额,也不应该向一个人收费,这是一个真正的问题,任何其他 API 都可以正常运行,抓取会命中它,它会起作用,但抓取不会收费或更改配额。至于places API,它只工作了一半,它不会向用户收费,但它仍然会影响配额
    【解决方案2】:

    我最终以一种变通的方式解决了这个问题,因为其他人在这里遇到这个问题就是我所做的。

    1) 我设置了 3 个 API 项目,每个项目每天可以进行 150,000 次调用

    2) 我设置了逻辑来查看页面是否正在从像 google bot 这样的爬虫访问

    3) 如果会话来自蜘蛛,则第三个 API 密钥设置为空

    4)系统会尝试一个接一个地使用每个API,如果第一个结果集为空则尝试编号2,如果2为空则尝试编号3

    5) 因为蜘蛛的第三个 API 密钥设置为 null,这允许为用户留出这 150,000 次调用,但现在我们必须停止抓取空白内容

    6) 在从尝试 API 1、2、3 切换的逻辑块中,我让 php 重写了我的 robots.txt 文件,如果 API 1 可用,我设置了这个:

    file_put_contents('robots.txt', '用户代理: * 不允许:');

    API 2 也一样,如果使用 API 3,那么我将 robots.txt 重写为:

    file_put_contents('robots.txt', '用户代理: * 禁止:/');

    现在已经为用户预留了 150,000 次调用,蜘蛛无法使用这 150,000 次调用,并且在其他 300,000 次调用已用完时,该网站在一天的剩余时间内无法再被任何人抓取蜘蛛。

    问题解决了! 告诉你,如果他们不能,我会自己修。

    哦,还有一个注意事项,因为它的谷歌使用谷歌 API 的即时通讯不会为谷歌杀死的 300,000 次调用收费,我只为真正的用户用完而收费......纯粹的完美!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-25
      • 2013-10-15
      • 2013-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多