我需要以下任务的帮助:例如,这是 HTML 的一部分:
<ul>
<li>Coffee, sugar bla bla bla ... milk.</li>
<li>Tea</li>
<li>Tea</li>
<li>milk</li>
<li>123 @"£ sdfa milk</li>
<li>Tea</li>
<li>1 2 milk 3 5...</li>
</ul>
我需要刮除所有<li>
包含该词的元素,milk
而不管大小写、其他词等。
我试过:
from lxml import html
import requests
page = requests.get('WEB-ADDRESS.html')
tree = html.fromstring(page.content)
target = tree.xpath('//li[contains(text(),"milk")]')
还试过:
target3 = tree.xpath('//reflist[. = "milk"]')
但他们都返回空—— []
您的第一个解决方案确实有效。因此,您可能需要仔细检查page.content
.
from lxml import html
#import requests
content = """
<div>
<ul>
<li>Coffee, sugar bla bla bla ... milk.</li>
<li>Tea</li>
<li>Tea</li>
<li>milk</li>
<li>123 @"£ sdfa milk</li>
<li>Tea</li>
<li>1 2 milk 3 5...</li>
</ul>
</div>
"""
tree = html.fromstring(content)
nodes = tree.xpath('//li[contains(text(), "milk")]')
for node in nodes:
print(node.text)
Coffee, sugar bla bla bla ... milk.
milk
123 @"£ sdfa milk
1 2 milk 3 5...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句