'NoneType'对象没有属性'string'



python代码截图

这是怎么回事?关于它?

html = """ <html><body>(html)(body)  
<h1>(h1)what is the scraping(/h1)</h1>
<p>(p)To analyze a web page(/p)</p> 
<p>(p)To extract the desired part(/p)</p>
(/body)(/html)</body></html> """
soup = BeautifulSoup(html, 'html.parser') 
title = soup.find(id="title")
body = soup.find(id="body")
print ("title=" + title.string)
print ("body=" + body.string)

您正在尝试查找 id 等于title的元素,类似于<p id="title">foo bar</p>

如果要按类型查找标记,请执行以下操作:

soup.find('body') # returns content of <body>

soup.find('title')

第二个示例在您的情况下不起作用,因为您的 html 中没有<title>foo bar</title>标签,但您明白了。

您的html中没有title标签。所以,title=None.因此,您无法从中获取任何内容。

尝试使用 lxml 而不是 html.parser 并尝试 soup.body 而不是搜索 body 标签。

最新更新