13

我经营一个网站,以图表/表格格式提供各种数据供人们阅读。最近我注意到来自 Google Docs 的网站请求有所增加。查看 IP 和用户代理,它似乎确实来自 Google 服务器 -此处的示例 IP 查找

每天的点击数在 2,500 到 10,000 个请求之间。

我假设有人创建了一个或多个从我的网站上抓取数据的 Google 表格(可能使用IMPORTHTML功能或类似功能)。我宁愿这没有发生(因为我不知道数据是否被正确归因)。

是否有首选方法来阻止 Google 支持/批准的这种流量?

我宁愿不基于 IP 地址进行阻止,因为阻止 Google 服务器感觉不对,可能会导致未来出现问题或 IP 可能会更改。目前我基于包含GoogleDocsor的用户代理阻止(返回 403 状态) docs.google.com

目前流量主要来自 66.249.89.221 和 66.249.89.223,始终使用用户代理Mozilla/5.0 (compatible; GoogleDocs; apps-spreadsheets; http://docs.google.com)

作为第二个问题:有没有办法追踪文档或其帐户所有者?我可以访问他们正在访问的 URL,但由于请求似乎是通过 Google Docs 服务器代理的(HTTP 日志中没有Referer、Cookie 或其他此类数据),因此几乎没有其他操作可做。

谢谢你。

4

2 回答 2

7

阻止 User-Agent 是一个很好的解决方案,因为似乎没有办法设置不同的 User-Agent 并仍然使用 INPUTHTML 功能——而且由于您很乐意禁止文档表中的“所有”使用,那就是完美的。

其他想法,尽管如果完全禁止似乎令人不快:

  1. 速率限制:正如您所说,您认识到它主要来自两个 IP 并且始终使用相同的用户代理,只是减慢您的响应速度。只要请求是串行的,您就可以提供数据,但一次就足以阻止抓取。将您的响应(对可疑的抓取工具)延迟 20 或 30 秒。

  2. 重定向到“你被阻止”屏幕,或带有“默认”数据的屏幕(即,可抓取,但不包含当前数据)。比基本的 403 更好,因为它会告诉人们它不是用来抓取的,然后你可以引导他们购买访问权限(或者至少向你请求密钥。)

于 2017-04-10T04:19:05.293 回答
0

您可以通过在第一次尝试时设置 cookie 来强制解决问题,并仅在 cookie 存在时才提供响应。这样,任何“简单”导入都将不起作用,因为在第一个请求中 cookie 不存在,因此第三方不会读取任何内容。

于 2017-04-10T09:26:56.450 回答