BeautifulSoup'NameError'

时间:2012-05-16 12:06:14

标签: python beautifulsoup

当我运行以下内容时,我得到“AttributeError:'NoneType'对象没有属性'string'”。但是,当对块字符串变量执行相同的任务时;有用。

关于我做错了什么的想法?

from BeautifulSoup import BeautifulSoup
from urllib        import urlopen

url = ("https://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=Albert%20Einstein&explaintext")

print ((BeautifulSoup(((urlopen(url)).read()))).find('extract').string).split("\n", 1)[0]

1 个答案:

答案 0 :(得分:0)

from BeautifulSoup import BeautifulSoup
from urllib import urlopen
url = ("https://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=Albert%20Einstein&explaintext")

soup = BeautifulSoup(urlopen(url).read())
print soup.find('extract')  # returns None

find方法没有找到标记为'extract'的任何内容。如果你想看到它工作,那么给它一个HTML标签,存在于文件中,如'pre'或'html'

'extract'看起来像一个xml标签。您可能希望在解析XML - http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html#Parsing XML时尝试阅读BeautifulSoup文档。还有一个新版本的BeautifulSoup(bs4)。我发现API更好。