Tôi có một tập tin HTML:Extract văn bản với lxml.html
<html>
<p>somestr
<sup>1</sup>
anotherstr
</p>
</html>
Tôi muốn trích xuất các văn bản như:
somestr anotherstr
nhưng tôi không thể tìm ra làm thế nào để làm nó. Tôi đã viết một hàm to_sup()
có thể chuyển đổi chuỗi số để superscript nên gần nhất tôi nhận được là một cái gì đó như:
for i in doc.xpath('.//p/text()|.//sup/text()'):
if i.tag == 'sup':
print to_sup(i),
else:
print i,
nhưng tôi ElementStringResult
dường như không có một phương pháp để có được tên thẻ, vì vậy tôi một chút mất đi. Bất kỳ ý tưởng làm thế nào để giải quyết nó?
Vâng, sau đó bỏ qua văn bản() từ truy vấn và trích xuất văn bản trực tiếp từ các nút. –
@ user1833746 - đã cố gắng 'cho x trong doc.xpath (" // p | // sup "): in (x.text)', nhưng điều này chỉ xuất ra 'somestr1' – root