私はいくつかの画面スクレイピングソフトウェアに取り組んでいて、BeautifulSoupで問題が発生しました。私はpython2.4.3とBeautifulSoup3.0.7aを使用しています。
タグを削除する必要があり<hr>
ますが、さまざまな属性を持つ可能性があるため、replace()を呼び出すだけではタグは削除されません。
次のhtmlが与えられます:
<h1>foo</h1>
<h2><hr/>bar</h2>
そして次のコード:
soup = BeautifulSoup(string)
bad_tags = soup.findAll('hr');
[tag.extract() for tag in bad_tags]
for i in soup.findAll(['h1', 'h2']):
print i
print i.string
出力は次のとおりです。
<h1>foo</h1>
foo
<h2>bar</h2>
None
抽出機能を誤解していますか、それともBeautiful Soupのバグですか?