python – BeautifulSoup:AttributeError:’str’对象没有属性’copy’.适用于Ubuntu,在Windows上失败
作者:互联网
我使用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'
我在Windows XP Professional上运行Python 2.7.3.这个脚本在Ubuntu Linux上很好用.
注意:
我期待来自网络的数据是UTF,因此python脚本从以下行开始:
#coding = utf-8
解决方法:
从行号来看,您使用的是Beautiful Soup 3.0.0,它没有您尝试使用的“按CSS类搜索”快捷方式(它在3.0.1中重新引入).更重要的是,您使用的是五年前的软件版本.我建议所有新项目使用Beautiful Soup 4.
很可能你没有在Ubuntu上看到问题,因为你的Ubuntu安装正在运行更新版本的Beautiful Soup.
标签:python,windows,beautifulsoup,windows-xp 来源: https://codeday.me/bug/20190901/1786728.html