5

ProjectGutenbergLibraryへのアクセスに問題があります...Python2.7.3を使用しています。NLTKライブラリにアクセスしてPythonで作業することはできますが、生のテキストにアクセスしようとすると、アクセスできません。

私がアクセスしていたテキストはCrimeandPunishmentで、len(raw)は1176831に等しいはずですが、代わりに288のlen(raw)が表示されます。使用したコードは次のとおりです。

>>> 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'
>>> 
4

2 に答える 2

5

HTTP 403応答の理由は、ここにあります。基本的に、このサイトは「人間の(自動化されていない)ユーザーのみを対象としています。自動化されたツールを使用して当社のWebサイトにアクセスすると、IPアドレスまたはサブネットが一時的または永続的にブロックされます」。

あなたのコードは「機能するはずです」が、ウェブサイトはあなたがブラウザではなくコードを介してサイトにアクセスしていると判断しています。それが私が言うすべてです。:)

于 2012-11-05T03:18:39.030 に答える
1
from urllib import urlopen

url = "http://www.gutenberg.org/files/2554/2554**-0**.txt"

raw = urlopen(url).read()
于 2017-08-30T23:56:46.913 に答える