0

假设我有一个 html 页面源,例如:

<p><font face="Arial" color="#400040"><small><strong>

<a href="some_link">description</a>: </strong>some text.</small></font></p>

我想只提取“描述部分?我该怎么做。我认为有一种非常pythonic的方式来做到这一点。谢谢

4

3 回答 3

2

获取BeautifulSoup。然后:

from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(your_text)
description = soup.find('a').string

您可能需要修改最后一行以唯一标识您的 a 标签。

于 2012-05-14T18:29:54.767 回答
2

您可以使用 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'))
于 2012-05-14T18:31:03.813 回答
1

使用Beautifulsoup

>>> 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
于 2012-05-14T18:28:59.353 回答