Saya cuba menggunakan BeautifulSoup untuk mengekstrak maklumat daripada blok html berstruktur tidak seragam. Saya sedang mencari cara untuk menggabungkan blok teks antara tag dalam output carian/penapis. Contohnya, daripada html:
<span> <strong>Description</strong> Section1 <ul> <li>line1</li> <li>line2</li> <li>line3</li> </ul> <strong>Section2</strong> Content2 </span>
Saya ingin membuat senarai output yang mengabaikan jenis teg tertentu (ul
和 li
),但捕获顶级未标记文本。我发现的最接近的是 .select(':not(ul,li)')
或 .find_all(['strong'])
dalam contoh di atas, tetapi kedua-duanya tidak boleh menangkap kedua-dua teks peringkat atas yang tidak berteg dan pelbagai teg sasaran. Gelagat yang ideal adalah seperti ini:
.find_all(['strong','UNTAGGED'])
menghasilkan output berikut:
[ <strong>Description</strong>, Section1, <strong>Section2</strong>, Content2 ]
Untuk mendapatkan output, anda boleh pilih
,然后选择它的
next_sibling
dahulu.Contoh
Output