次のようなhtmlページのソースがあるとします。
<p><font face="Arial" color="#400040"><small><strong>
<a href="some_link">description</a>: </strong>some text.</small></font></p>
「説明の部分を抽出したいのですが、どうすればよいですか。これを行うには、非常にPython的な方法があると思います。ありがとうございます。
次のようなhtmlページのソースがあるとします。
<p><font face="Arial" color="#400040"><small><strong>
<a href="some_link">description</a>: </strong>some text.</small></font></p>
「説明の部分を抽出したいのですが、どうすればよいですか。これを行うには、非常にPython的な方法があると思います。ありがとうございます。
BeautifulSoupを入手してください。それで:
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(your_text)
description = soup.find('a').string
タグを一意に識別するために、最後の行を変更する必要がある場合があります。
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'))
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