我在Windows XP上使用Python 2.7.3 我正在使用Pyscripter 2.5.3.0
我正在努力让美丽的汤运行并使用以下测试代码
import urllib2
from bs4 import BeautifulSoup
page = urllib2.urlopen("http://www.google.com")
soup = BeautifulSoup(page)
print soup.prettify()
代码在dammit.py
停止。错误是:
Message File Name Line Position
Traceback
<module> D:\Python\TestBS.py 19
<module> C:\Python27\lib\site-packages\bs4\__init__.py 29
<module> C:\Python27\lib\site-packages\bs4\builder\__init__.py 4
<module> C:\Python27\lib\site-packages\bs4\element.py 5
<module> C:\Python27\lib\site-packages\bs4\dammit.py 49
EntitySubstitution C:\Python27\lib\site-packages\bs4\dammit.py 70
_populate_class_variables C:\Python27\lib\site-packages\bs4\dammit.py 57
NameError: global name 'codepoint2name' is not defined
代码的这一部分
class EntitySubstitution(object):
"""Substitute XML or HTML entities for the corresponding characters."""
def _populate_class_variables():
lookup = {}
reverse_lookup = {}
characters_for_re = []
for codepoint, name in list(codepoint2name.items()):
答案 0 :(得分:1)
这是BeautifulSoup中的一个错误。很明显,作者错过了从'htmlentitydefs'模块导入符号。所以你可以通过添加导入来自己解决这个问题 BeautifulSoup代码。此外:联系BeautifulSoup作者或提交错误报告。