3

BeautifulSoupを使用すると奇妙なエラーが発生します。

これが私が実行しているコードのスニペットです:

while True:
    listing_soup = soupify(urlget(page_url))
    for i in listing_soup.findAll('div', 'searchResultContent'):
       # do some stuff ...

スローされる例外は次のとおりです。

Traceback (most recent call last):
  File "C:\path\to\script.py", line 71
6, in <module>
    for i in listing_soup.findAll('div', 'searchResultContent'):
  File "c:\python27\BeautifulSoup.py", line 612, in findAll
    return self._findAll(name, attrs, text, limit, generator, **kwargs)
  File "c:\python27\BeautifulSoup.py", line 275, in _findAll
    strainer = SoupStrainer(name, attrs, text, **kwargs)
  File "c:\python27\BeautifulSoup.py", line 660, in __init__
    self.attrs=attrs.copy()
AttributeError: 'str' object has no attribute 'copy'

WindowsXPProfessionalでPython2.7.3を実行しています。このスクリプトは、UbuntuLinuxで問題なく動作します。

ノート:

WebからのデータはUTFであると期待しているので、Pythonスクリプトは次の行で始まります。

# coding=utf-8

4

1 に答える 1

5

行番号から判断すると、Beautiful Soup 3.0.0を使用しています。これには、使用しようとしている「CSSクラスによる検索」ショートカットがありません(3.0.1で再導入されました)。さらに重要なのは、5年前のバージョンのソフトウェアを使用しているということです。すべての新しいプロジェクトにはBeautifulSoup4をお勧めします。

UbuntuのインストールでBeautifulSoupの最新バージョンが実行されているため、Ubuntuで問題が発生しない可能性があります。

于 2012-08-07T01:33:14.737 に答える