xpath语法练习

Xpatch语法练习


from lxml import etree

html='''
<div>
    <ul id="column_1">
        <li class="line-1"><a href="link1.html">a标签1列1行内容</a>li标签1列1行内容</li>
        <li class="line-2"><a href="link2.html">a标签1列2行内容</a>li标签1列2行内容</li>
        <li class="line-message"><a href="link3.html">a标签1列3行内容</a>li标签1列3行内容</li>
        <li class="line-4"><a href="link4.html">a标签1列4行内容</a>li标签1列4行内容</li>
        <li id="line-5"><a href="link5.html">a标签1列5行内容</a>li标签1列5行内容</li>
        <li id="code-1">第6行内容</li>
        第一列文本内容
    </ul>
    <ul id="column_2" >
        <li class="line-1"><a href="link1.html">a标签2列1行内容</a>li标签2列1行内容</li>
        <li class="line-2"><a href="link2.html">a标签2列2行内容</a>li标签2列2行内容</li>
        <li class="line-message"><a href="link3.html">a标签2列3行内容</a>li标签2列3行内容</li>
        第二列文本内容
    </ul>
</div>
'''

#使用etree解析html网页内容
执行代码:selector=etree.HTML(html)

# #查询‘li’下所有的元素
# list_all = selector.xpath('//div/ul/li[2]/a/text()')
# print(list_all)

# #1查找出已知html中[li]中第1个[li]标签下的a元素文本信息
# list_2 = selector.xpath('//li[1]/a/text()')[0]
# print(list_2)


#2通过class属性定位查找出已知html中[li]中的第三个[li]标签属性和a元素文本信息
# list_2 =selector.xpath('//li[@class="line-message"]')
# print(list_2)
# list_2 = selector.xpath('//li[@class="line-message"]/a/text()')[0]
# print(list_2)

#3通过href属性定位查找出已知Html中[li]中第4个[li]标签属性及a元素文本信息
# list_2 = selector.xpath('//*/li[4]/a/@href')[0]
# print(list_2)

#4:提取出含有‘line-’的li下的a元素内容
# list_2 = selector.xpath('//li[starts-with(@class,"line-")]')
# print(list_2)

#4-方式2(循环获取):提取出含有‘line-’的li下的a元素
# list_2 = selector.xpath('//li[starts-with(@class,"line-")]')
# all_a = []
# for c in list_2:
#     all_a.append(c.xpath('a/text()')[0])
# print(all_a)

#5:提取出所有UL下的所有文本信息
# list_2 = selector.xpath('string(//ul)')
#  print(list_2)
# #删除左右空格,使用空格替换\n
# list_2 = list_2.strip().replace('\n','')
# print(list_2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值