python 的lxml模块2

b.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8"/>
    <title>Title</title>
</head>
<body>
    <ul>
        <li><a href="http://www.baidu.com">百度</a></li>
        <li><a href="http://www.google.com">Google</a></li>
        <li><a href="http://www.sogou.com">搜狗</a></li>
    </ul>
    <ol>
        <li><a href="feiji">飞机</a></li>
        <li><a href="dapao">大炮</a></li>
        <li><a href="huoche">火车</a></li>
    </ol>
    <div class="job">李嘉诚</div>
    <div class="common">胡辣汤</div>
</body>
</html>

from lxml import etree


tree =etree.parse('b.html')
result1 = tree.xpath('/html/body/ul/li/a/text()') # 获取所有a标签文本 ,打印:['百度', 'Google', '搜狗']
result2 = tree.xpath('/html/body/ul/li[1]/a/text()') # li[1]代表获取第一个li标签,xpath下标从1开始
print(result2)  # 打印:['百度']



# 获取ol标签下a标签的属性href='feiji'的文本内容
result3 = tree.xpath('/html/body/ol/li/a[@href="feiji"]/text()') # [@xxx=xxx]是对属性进行筛选
print(result3) # 打印:飞机


#  获取ol/li下a标签的文本
ol_li_list = tree.xpath('/html/body/ol/li')
for li in ol_li_list:
    result4 = li.xpath('./a/text()') # “./”代表当前路径,定位到li这级
    print('result4',result4) # 分别输出a标签下的:[飞机],[大炮],[火车]


# 获取/html/body/ol/li下a标签的属性href的值
ol_li_list2 = tree.xpath('/html/body/ol/li')
for i in ol_li_list2:
    result5 = i.xpath('./a/@href')  # "@href"可以输出对应的属性名称
    # 这里全路径也可以用:/html/body/ol/li/a/@href
    print(result5) # 这里分别打印:[feji],[dapao],[huoche]






谷歌浏览器快速定位路径的方法:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>