Gutenberg(org)如何确定刮擦?

时间:2018-07-15 17:16:01

标签: curl wget

我试图从他们的网站上下载“ Moby Dick”,以使用wget(经过调整且正确的User-Agent字符串)确定词频测试,但他们仍然能够确定我正在使用wget并被阻止我。他们如何做到这一点?我从多个IP地址(其中一些是AWS VPS,其他是从普通家庭ISP连接中尝试)进行了尝试。我可以启动Chrome并获取没有任何问题的内容,但是这个过程激起了我的好奇心。我还检查了自己的Web服务器的access.log文件(以测试User-Agent字符串),结果与预期的一样。

执行其他信息。 wget连接/传输泄漏?

以下是链接:

http://www.gutenberg.org/files/2701/2701-h/2701-h.htm

2 个答案:

答案 0 :(得分:1)

他们设置了一个session_id cookie。如果请求中不包含该Cookie,则对特定格式的书的任何请求都将重定向到该书的首页,例如http://www.gutenberg.org/ebooks/2701?msg=welcome_stranger

一旦您从Project Gutenberg获得了会话ID Cookie,就可以下载任何格式的书。

答案 1 :(得分:1)

来自他们的Terms of Use

  

该网站仅面向人类用户。任何可感知的使用   自动化工具访问该网站将导致临时或   您的IP地址被永久屏蔽。

     

如果您想手动或使用自动下载软件下载许多图书(即每天超过100本书),请从   我们的镜像之一,而不是主站点。请参见list of PG mirrorsroboting guidelines

在最后一个链接之后显示了一些示例:

wget -w 2 -m -H "http://www.gutenberg.org/robot/harvest?filetypes[]=html"

如您所见,它们为机器人提供了特殊的URL位置。