私はBeautifulsoup(bs4)を使用してHTMLページをスクラップしています。それはリスト<ul>
を持っていて、興味深いリンク(href)を保持する<li>
を持っています。BeautifulSoup(bs4):不正な形式のHTMLでエンディングタグを無視する方法
スニペット:
<ul>
<!-- C 1-3 --></p>
<li>
<a href="http://LINK1" target="_blank">Link1 description</a>
</li>
</ul>
<ul>
<!-- E 1-2-3-6 --></p>
<li>
<a href="LINK-2" target="_blank">Link-2 description</a>
</li>
<p><!-- E 4-5 -7-8-9-10-11 --></p>
</ul>
問題:私は抽出するためにfind_all()
を使用すると、すべての<ul>
- 私はオープニング<p>
が欠落している不正な結末</p>
ためにそれを取得しておりません。ブラウザはこれを無視してOKをレンダリングしますが、BS4は解析を駄目です。 BS4の不正な形式のタグを無視しようとする人はいましたか?
entries = soup.find_all(lambda x: x.name == 'ul')
print(len(entries))
print(entries[0])
1
<ul>
<!-- C 1-3 --></ul>
FWIWは、あなたがた場合に何らかの理由でリンクを変更し、関連するテキストを引用すべきです。 :-) – n1c9