0

C:\webpage.htm という場所に Web ページを保存しました。私はそれを読み込んでBeautifulSoupを使って分析したいのですが、urllibはそれを開けません。

from BeautifulSoup import BeautifulSoup
import urllib2

url="C:\webpage.htm"

page=urllib2.urlopen(url)

これによりエラーが発生します。

Traceback (most recent call last):
    page=urllib2.urlopen(url)
  File "C:\Python27\lib\urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\Python27\lib\urllib2.py", line 400, in open
    response = self._open(req, data)
  File "C:\Python27\lib\urllib2.py", line 423, in _open
    'unknown_open', req)
  File "C:\Python27\lib\urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\urllib2.py", line 1240, in unknown_open
    raise URLError('unknown url type: %s' % type)
urllib2.URLError: <urlopen error unknown url type: c>

これを解決するにはどうすればよいですか、またはドキュメントを美しいスープにロードする別の方法はありますか (テキストドキュメントとして保存しようとしましたが、エラーが発生しました:

'str' object has no attribute 'findall'
4

2 に答える 2

3

ローカル マシンからファイルをロードしているので、urllib2 を使用する必要はありません。代わりに、Python の標準ファイル I/O 関数、open()、read()、および close() を使用できます。

from BeautifulSoup import BeautifulSoup
url="C:\webpage.htm"
f = open(url)
# read entire file as a string
page=f.read()
soup=BeautifulSoup(page)
# etc...
f.close()
于 2012-11-13T16:01:34.523 に答える
3

プロトコルを指定する必要があるようです。この場合、おそらくやりたいことは次のとおりです。

from BeautifulSoup import BeautifulSoup
import urllib2
url="file:///C:/webpage.html"
page=urllib2.urlopen(url)
于 2012-11-13T15:54:29.867 に答える