lxml/BeautifulSoup の使用方法を学んでいますが、これをできるだけ便利にするにはどうすればよいか疑問に思っていました。ソースには、本体の次の構造があります。
<p class = "info">
<!-- a bunch of other tags and text in each paragraph class -->
</p>
<p class = "filler1">
</p>
<p class = "filler2">
</p>
<p class = "filler2">
</p>
<p class = "repeat">
</p>
<p class = "repeat">
</p>
<p class = "descr">
</p>
<p class = "descr">
</p>
<p class = "descr">
</p>
現時点では、私は単に使用しています
soup = BeautifulSoup(open('savedPage.html'))
soup.body(text=True)
本文のすべてのテキストをスクレイピングします。1) "filler2" の後の段落クラスにあるすべてのテキストをスクレイピングし、2) エスケープ シーケンスを回避するための迅速で便利な方法があるかどうか疑問に思っていました。
2)に関しては、次のように繰り返すことで、この問題を回避できることを知っています
for i in range(1,len(soup.body(text=True))+1):
soup.body(text=True)[i]
これにより、すべてのエスケープ シーケンスが解釈されます。ただし、1) の場合、「filler2」クラスの後にすべてのテキストをスクレイピングして、コードをシンプルに保つ方法はありますか? ツリー全体をトラバースしたり、正規表現を作成したりしたくありません。