我试图从他们的网站上下载“ 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
答案 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 mirrors和roboting guidelines。
在最后一个链接之后显示了一些示例:
wget -w 2 -m -H "http://www.gutenberg.org/robot/harvest?filetypes[]=html"
如您所见,它们为机器人提供了特殊的URL位置。