xpath的//什么时候返回所有范围符合的标签
html获取到第一个b标签,
为什么html1的//d返回的是两个b下的d
html2的./c//d却是第一个b下的d
from lxml import etree
s = """
<a>
<b>
<c>
<d>d1</d>
</c>
</b>
<b>
<c>
<d>d2</d>
</c>
</b>
</a>
"""
html = etree.HTML(s)
html = html.xpath('/html/body/a/b[1]')[0] # 获取第一个b标签
html1 = html.xpath('//d')
html2 = html.xpath('./c//d')
for i in html1:
print('html1', etree.tostring(i).decode())
for i in html2:
print('html2', etree.tostring(i).decode())
11
收起
正在回答 回答被采纳积分+1
1回答
Python全能工程师
- 参与学习 人
- 提交作业 16247 份
- 解答问题 4470 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星