假设我有一个 html 页面源,例如:
<p><font face="Arial" color="#400040"><small><strong>
<a href="some_link">description</a>: </strong>some text.</small></font></p>
我想只提取“描述部分?我该怎么做。我认为有一种非常pythonic的方式来做到这一点。谢谢
假设我有一个 html 页面源,例如:
<p><font face="Arial" color="#400040"><small><strong>
<a href="some_link">description</a>: </strong>some text.</small></font></p>
我想只提取“描述部分?我该怎么做。我认为有一种非常pythonic的方式来做到这一点。谢谢
获取BeautifulSoup。然后:
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(your_text)
description = soup.find('a').string
您可能需要修改最后一行以唯一标识您的 a 标签。
您可以使用 BeautifulSoup,请参阅文档中的此示例:
from bs4 import BeautifulSoup
html_doc = '''<p><font face="Arial" color="#400040"><small><strong>
<a href="some_link">description</a>: </strong>some text.</small></font></p>
'''
soup = BeautifulSoup(html_doc)
for link in soup.find_all('a'):
print(link.get('href'))
>>> from BeautifulSoup import BeautifulSoup
>>> html = '<p><font face="Arial" color="#400040"><small><strong><a href="some_link">description</a>: </strong>some text.</small></font></p>'
>>> soup = BeautifulSoup(html)
>>> soup.find('a', text=True)
u'description'
如果您有多个标签,很可能是这种情况,您可以这样做:
>>> for link in soup.findAll('a'):
... print link.text