我在访问古腾堡计划图书馆时遇到问题...
我正在使用Python 2.7.3。
我可以访问NLTK库并使用python,但是在尝试访问原始文本时,它不允许我这样做。

我正在访问的文本是《犯罪与惩罚》,它的len(raw)应该等于1176831,但给我的len(raw)为288。
这是我使用的代码:

>>> from __future__ import division
>>> import nltk, re, pprint
>>> from urllib import urlopen
>>> url = "http://www.gutenberg.org/files/2554/2554.txt"
>>> raw = urlopen(url).read()
>>> type(raw)
<type 'str'>
>>> len(raw)
288
>>> raw
'<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">\n<html><head>\n<title>403 Forbidden</title>\n</head><body>\n<h1>Forbidden</h1>\n<p>You don\'t have permission to access /files/2554/2554.txt\non this server.</p>\n<hr>\n<address>Apache Server at www.gutenberg.org Port 80</address>\n</body></html>\n'
>>>

最佳答案

HTTP 403响应的原因可以在here中找到。基本上,该网站仅适用于“人类(非自动化)用户。任何使用自动化工具访问我们网站的行为都会导致您IP地址或子网的临时或永久性阻止。”

您的代码“应该有效”,但是网站确定您正在通过代码而非浏览器访问该网站。这就是我要说的。 :)

关于python - 无法访问古腾堡计划原始文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13225484/

10-14 22:52
查看更多