実現したいこと
DOMが結構滅茶苦茶なサイトのテキストをBeautiful Soupで取得したいのですが、どういう風にすればいいのかが皆目見当もつきません。
知恵をお貸しいただければと思います。
対象のDOM
html
1<span class="class名"> 2 <img src="url"/> 3 取得したいテキスト 4 <b> 5 <span class="class名"> 6 テキスト 7 </span> 8 </b> 9 <img class="クラス名" src="url" title="代替テキスト"/> 10 取得したいテキスト 11 <b> 12 <span class="クラス名"> 13 テキスト 14 </span> 15 </b> 16 <img class="クラス名" src="URL名" title="代替テキスト"/> 17 取得したいテキスト 18 <img class="クラス名" src="url" title="代替テキスト"/> 19 取得したいテキスト 20 <img class="クラス名" src="url" title="代替テキスト"/> 21 <b> 22 <span class="クラス名"> 23 テキスト 24 </span> 25 </b> 26 <img class="クラス名" src="url" title="代替テキスト"/> 27</span>
DOMはpythonでの出力結果ではなく、DOMが分かりやすいように私が編集しています
###前提・試した事
パーサは以下の2種類を試しましたがDOMの内容は変わらず滅茶苦茶なままでした。
1.Python’s html.parser
2.html5lib
また、Beautiful Soup 4.2.0 Doc. 日本語訳 (2013-11-19最終更新) も読んでおりますが実現したい事を出来る機能も見当たりませんでした。
##バージョン
python : 3.9.5
Beautiful Soup : 4.9.3
###現状
取得したいテキスト前に「/>」、後には「<」が必ずあるため、
正規表現の様な形で取得できるのではないか?と言う考えがありますが、前項でも話したように、それを実現できる機能が見当たらず途方にくれている状態です。
ご回答宜しくお願いします。