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

时间:2017-07-10 12:07:29

标签: python

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)

2 个答案:

答案 0 :(得分:1)

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

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

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

或者

soup.find('title')

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

答案 1 :(得分:0)

title中没有html个标记。所以,title=None。因此,你无法获得任何内容。

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