使用BeautifulSoup bs4时,如何从HTML标签内部获取文本?当我运行这一行时:
oname = soup.find("title")
我得到title
这样的标签:
<title>page name</title>
现在我想只获得它的内部文本page name
,没有标签。怎么做?
答案 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