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 标签。