BeautifulSoup:AttributeError:“str”对象没有“copy”属性。在Ubuntu上工作,在Windows上失败

2024-03-28 13:21:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我在使用美偶时出现了一个奇怪的错误。

下面是我正在运行的代码片段:

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'

我在Windows XP Professional上运行Python 2.7.3。这个脚本在Ubuntu Linux上运行良好。

注意:

我希望来自web的数据是UTF,因此python脚本以以下行开头:

# coding=utf-8


Tags: nameinpyselfdivforlineattrs
1条回答
网友
1楼 · 发布于 2024-03-28 13:21:25

从行号来看,您使用的是Beautiful Soup 3.0.0,它没有试图使用的“按CSS类搜索”快捷方式(它在3.0.1中重新引入)。更重要的是,你使用的是5年前的软件版本。我建议所有新项目都使用Beautiful Soup 4

很可能你在Ubuntu上没有看到这个问题,因为你的Ubuntu安装运行的是beautifuldsoup的最新版本。

相关问题 更多 >