【问题标题】:Importhtml() & Importxml() "Could not fetch URL" - Only on specific webpageImporthtml() & Importxml() “无法获取 URL” - 仅在特定网页上
【发布时间】:2015-08-21 06:26:28
【问题描述】:

我创建了一个谷歌电子表格,它定期从某个webpage 检索数据,并且它运行了大约一个月。然而,在前天 (19/08) 之后,它突然出现 importxml() 和 importhtml() 的“无法获取 URL”错误,即使网站本身在使用浏览器时仍然加载没有问题。同时,电子表格上没有任何更改,只是已分发给其他人。

spreadsheet (当然,您可以随意复制它;它涉及单元格 H1 和 A2)

我尝试过的解决方案:
- 谷歌脚本的 Urlfetchapp();它似乎能够毫无问题地获取网页(但没有 importhtml 内置的易于格式化)
- 在 importhtml 中包含 trim() 以删除 url
中的任何潜在空格 - 尝试了 sfstat.info 的多个其他子域(例如 sfstat.info/na/pantheons/); sfstat.info 的所有网页似乎都给出了同样的错误。
- 尝试获取其他 URL,例如 Google 等。这些都可以毫无问题地获取
- Excel 相当于 importhtml。这似乎也没有问题。
- 虽然电子表格在技术上将 &minute(now()) 添加到 url,但删除它也不能解决“无法获取 URL”问题。
- 在 Google 驱动器上下载并托管网页,并尝试使用 importhtml 和 importxml 获取其数据;这也没有导致问题。因此,由于请求众多,获取可能被视为 DoS 尝试。

先感谢您。

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    确实不是电子表格导致了这个问题;显然,Google 向域 sfstat.info 发送了大量请求(6 小时内超过 10k),因此导致 IP 被阻止。

    【讨论】:

      【解决方案2】:

      “对 sfstat.info 的请求(6 小时内超过 10k),因此导致 Cloudflare 阻止 IP。”

      它收到了什么错误信息?默认情况下,我们不会阻止 Google 的 IP(它们在我们的宏列表中)。

      【讨论】:

      • 根据网站开发人员的说法,403 错误是对所有 Google IP 的响应。此外,当我是唯一使用电子表格的人时,没有任何问题,所有数据都按应有的方式检索。当脚本的多个副本也正在获取数据时,会出现 403 错误。不过,可能是我误解了他的回答。他只提到“Cloudflare 以 403 错误响应所有 Google IP,因为该网站在 6 小时内收到了 10k 个请求”。
      • 您可能想要打开一个包含一些细节的支持票。唯一想到的是您可能在防火墙设置中阻止了特定国家/地区,这将创建一个 403/挑战页面。默认情况下,我们不会做任何阻止 Google 和其他搜索引擎的事情。
      • 很遗憾,这不是我自己的网站;我正在尝试从其他人那里检索数据。关于 403 错误,可能是网站所有者手动阻止了 IP 范围(我已经相应地更新了答案)。但是,幸运的是,网站开发人员已经解决了这个问题,并且我对上面链接的电子表格的初衷可能包含在网站本身中(使电子表格变得不必要)。感谢 Damon 提供的信息,我非常感谢 :)
      猜你喜欢
      • 2022-11-30
      • 2021-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多