如何使用BeautifulSoup bs4获取HTML标记的内部文本值?

时间:2015-01-14 01:19:57

标签: python html beautifulsoup

使用BeautifulSoup bs4时,如何从HTML标签内部获取文本?当我运行这一行时:

oname = soup.find("title")

我得到title这样的标签:

<title>page name</title>

现在我想只获得它的内部文本page name,没有标签。怎么做?

1 个答案:

答案 0 :(得分:9)

使用.text从标记中获取文本。

oname = soup.find("title")
oname.text

或只是soup.title.text

In [4]: from bs4 import BeautifulSoup    
In [5]: import  requests
In [6]: r = requests.get("http://stackoverflow.com/questions/27934387/how-to-retrieve-information-inside-a-tag-with-python/27934403#27934387")    
In [7]: BeautifulSoup(r.content).title.text
Out[7]: u'html - How to Retrieve information inside a tag with python - Stack Overflow'

要打开文件并使用文本作为名称,请使用它,就像使用任何其他字符串一样:

with open(oname.text, 'w') as f