采集方针
我们读取什么、以什么速度读取、以及我们拒绝承接的请求。因为法务一定会先问这个。
这一页不是套话。它描述软件实际执行的行为,其中列在「我们拒绝做的事」里的各项, 是在代码里强制执行的,而不是在文字里承诺的。没有代码保障、作为运营方针遵守的内容,另列在「运营方针」中。
我们读取什么
公开的商品列表页 —— 与购物者不登录即可看到的页面相同。价格、标题、在售状态,以及发布该商品的卖家身份。
读取前我们检查什么
每次按网址加载页面时都检查 robots.txt(抽取、监测扫描,以及用浏览器 API 跳转到页面时)。本节的检查、间隔与 429 等待,都作用于这些页面加载。被禁止的路径不会被抓取。站点公布了 crawl-delay 的,该值就是下限;未公布的,我们自行设定一个并按来源逐一记录。
无法取得 robots.txt 时。 返回 5xx、无法连接或未在时限内响应时,我们按「该站点未公布规则」继续读取(我们的最小间隔照常遵守)。取得失败这件事会记住 5 分钟,之后再去取。404 等 4xx 视为站点未公布规则。
响应本身。 页面本身返回 403、429 或 503 时,我们视为拒绝并连同日期一起记录。被拒绝 1~2 次时,下一个周期会再读一次。连续被拒绝 3 次的来源会被停止,并在次日的晨报中通知客户一次。除非客户选择恢复,该来源保持不读。我们不会去找绕过拒绝的方法。
收到 429(请求过多)时。 在 Retry-After 所示的时间内(未给出时为 1 小时,并限定在 60 秒到 24 小时之间),我们不从任何地址、也不为任何客户请求该主机的页面。
我们拒绝做的事
这些不是愿景。每一条在代码中都不存在,要求我们做这些的客户,我们会拒绝。
- 不伪装指纹。 我们不掩饰客户端的真实身份。
- 不绕过验证码。 验证码本身就是一个答复,而这个答复是「不」。
- 不绕过登录。 我们只读取无账号访客能看到的内容。
- 不超过对方声明的限制。 轮换地址来规避速率限制是规避,不是容量,我们不出售它。
除了原则,还有商业上的理由。一旦被某个来源拒绝,就再也读不回来了。 损失的不只是我们,还有每一位需要那个来源的客户。利益与伦理指向同一个方向。
运营方针
以下内容与上面的清单不同,并非由代码保障,而是作为运营方针遵守。
- 不采集个人信息。 我们读取价格和商品信息。卖家是具名企业时记录该企业;商品页含有个人信息时不予保留。目前没有自动区分企业与个人、或自动去除个人信息的处理。
我们记录什么
每一条观测都带有来源、商品网址、读取时刻、公布的价格、扣除消费税后的价格,以及所用汇率与该汇率的公布日期。这才是让一个数字可以被验算,而不只是被声明。
移除
我们的抓取程序如何表明身份(WebIntelligence)以及如何停止它,整理在关于我们的抓取程序一页中。
如果你运营某个站点并且不希望我们读取,请在 robots.txt 中声明拒绝。我们会从下一次抓取开始遵守,并且不再读取该来源。
最后更新