from lxml import etree
text = '''
<a href="https://blog.csdn.net/qq_25343557">myblog</a>
<li class="sp item-2" name="two"><a href="https://www.csdn.net/">csdn</a>
<li class="sp item-3" name="four">
<a href="https://hao.360.cn/?a1004">hao123</a>
</div>
'''
html = etree.HTML(text)
result = html.xpath('//li[2]/a/text()')#选择第二个li节点,获取a节点的文本
版权声明:本文为CSDN博主「柏拉图工作室-Python学科」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
第二行text应该输入什么?不明白。
你要获取什么?代码没问题啊
from lxml import etree
text = '''
<ul>
<li class="sp item-0" name="two">
<a href="https://www.baidu.com">baidu</a>
</li>
<li class="sp item-1" name="two">
<a href="https://blog.csdn.net/qq_25343557">myblog</a>
</li>
<li class="sp item-2" name="two">
<a href="https://www.csdn.net/">csdn</a>
</li>
<li class="sp item-3" name="four">
<a href="https://hao.360.cn/?a1004">hao123</a>
</li>
</ul>
'''
html = etree.HTML(text)
result = html.xpath('//li[2]/a/text()')#选择第二个li节点,获取a节点的文本
print(result)
结果是 ['myblog']
第二行代码中的text()是xpath语法,即获取当前节点内的文本内容,不需要用户输入。参考一下这里:
那个是参数传进入到函数里头。