BeautifulSoupを使ってHTMLを解析
PythonでHTMLを解析してHTMLのタグをいろいろ操作する必要があり、調べてみると「BeautifulSoup」という便利なモジュールがありました。
・BeautifulSoup
早速使ってみましたが、これはすごく良いですね。簡単にHTMLを解析して操作することができました。しかも、HTMLだけではなくXMLにも使えるようです。
EasyInstallに対応しているので、下記のコマンドで簡単にインストールすることができました。
easy_install beautifulsoup
下記に簡単なサンプルを掲載します。
■HTML内の特定のタグを取得
■出力結果
■タグを削除(Tagクラスのextractメソッドを使用)
■出力結果
■タグを別のタグで置き換える
■出力結果
・BeautifulSoup
早速使ってみましたが、これはすごく良いですね。簡単にHTMLを解析して操作することができました。しかも、HTMLだけではなくXMLにも使えるようです。
EasyInstallに対応しているので、下記のコマンドで簡単にインストールすることができました。
easy_install beautifulsoup
下記に簡単なサンプルを掲載します。
■HTML内の特定のタグを取得
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from BeautifulSoup import BeautifulSoup
from BeautifulSoup import Tag
html = """
<ul>
<li><a href="aaa.html">aaa</a></li><p>
<li><a href="bbb.html">bbb</a></li>
</ul>
"""
soup = BeautifulSoup(html)
# aタグを取得
for tag in soup.findAll('a'):
print tag
■出力結果
aaa
bbb
■タグを削除(Tagクラスのextractメソッドを使用)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from BeautifulSoup import BeautifulSoup
from BeautifulSoup import Tag
html = """
<ul>
<li><a href="aaa.html">aaa</a></li><p>
<li><a href="bbb.html">bbb</a></li>
</ul>
"""
soup = BeautifulSoup(html)
#print soup.prettify()
# aタグを取得
for tag in soup.findAll('a'):
tag.extract()
print soup.prettify()
■出力結果
<ul>
<li>
</li>
<p>
</p>
<li>
</li>
</ul>
■タグを別のタグで置き換える
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from BeautifulSoup import BeautifulSoup
from BeautifulSoup import Tag
html = """
<ul>
<li><a href="aaa.html">aaa</a></li><p>
<li><a href="bbb.html">bbb</a></li>
</ul>
"""
soup = BeautifulSoup(html)
#print soup.prettify()
# aタグを取得
for tag in soup.findAll('a'):
t = Tag(soup, "foo")
tag.replaceWith(t)
■出力結果
<ul>
<li>
<foo>
</foo>
</li>
<p>
</p>
<li>
<foo>
</foo>
</li>
</ul>
ラベル: Python

0 件のコメント :
コメントを投稿
この投稿へのリンク :
リンクを作成
<< ホーム