Saya sedang belajar lxml, kodnya adalah seperti berikut:
from lxml import etree
text = '''
<i class="cell maincell">
<p class="title">
<a target="_blank" href="https://itjuzi.com/company/60321">
<span>洋鼹鼠</span>
</a>
</p>
<p>
<span class="tags t-small c-gray-aset">
<a href="https://itjuzi.com/investevents?scope=145">电子商务</a>
</span>
<span class="loca c-gray-aset t-small">
<a href="https://itjuzi.com/investevents?prov=天津">天津</a>
</span>
</p>
</i>
'''
html = etree.HTML(text)
print(etree.tostring(html,encoding='utf-8').decode('utf-8'))
Keluaran adalah seperti berikut:
<html><body><i class="cell maincell">
</i><p class="title">
<a target="_blank" href="https://itjuzi.com/company/60321">
<span>洋鼹鼠</span>
</a>
</p>
<p>
<span class="tags t-small c-gray-aset">
<a href="https://itjuzi.com/investevents?scope=145">电子商务</a>
</span>
<span class="loca c-gray-aset t-small">
<a href="https://itjuzi.com/investevents?prov=天津">天津</a>
</span>
</p>
</body></html>
Terutamanya saya tidak faham mengapa terdapat ralat dalam label <i>
? Bagaimana untuk menyelesaikan masalah ini? Terima kasih~
Terutama kerana
elemen p
Klasifikasi kandungan Kandungan aliran, kandungan yang boleh dirasai.
Kandungan yang dibenarkan Kandungan frasa.
Elemen induk yang dibenarkan Mana-mana elemen yang menerima kandungan aliran
i Elemen
Kategori kandungan Kandungan aliran, kandungan frasa, kandungan boleh dirasai.
Kandungan frasa elaun.
Jelas sekali elemen induk bagi elemen P mestilah daripada jenis kandungan aliran, tetapi saya tidak memenuhi syarat, yang bermaksud ia tidak mematuhi spesifikasi.
Penyelesaian ialah gantikan i terus dengan p.