当我运行以下内容时,我得到“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]
答案 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更好。