爬虫----070xpath的基本使用

#xpath基本语法
#1路径查询  //:查找所有子孙结点,不考虑层级关系
#          /:找直接子节点
#2谓词查询  //div[@id]
#         //div[@id="maincontent"]
#3属性查询  //@class
#4模糊查询  //div[contains(@id,"he")]
#         //div[start-with(@id,"he")]
#5内容查询  //div/h1/text()
#6逻辑运算  //div[@id="head" and @class="s_down"]    和
#         //title   |  //price                      或  针对标签


from lxml import etree

#xpath解析
#      (1)本地文件
#******(2)服务器响应的数据   response.read().decode('utf-8')

#解析(1)本地文件  etree.parse()
tree = etree.parse('070xpath的基本使用.html')

#tree.xpath('xpath路径')

#查找ul下的li
# li_list = tree.xpath('//ul/li')

#查找所有由id属性的li标签
#text()获取标签中的内容
# li_list= tree.xpath('//ul/li[@id]/text()')

#查找id=1的li标签   ###注意引号问题###
# li_list= tree.xpath('//ul/li[@id="2"]/text()')

#查找id为1的li标签的class的属性值
# li_list= tree.xpath('//ul/li[@id="1"]/@class')

#查询id中包含l的li标签
# li_list= tree.xpath('//ul/li[contains(@id,"l")]/text()')
#查询id的值以l开头的li标签
li_list= tree.xpath('//ul/li[starts-with(@id,"c")]/text()')


#判断列表的长度
print(li_list)
print(len(li_list))

#解析(2)服务器响应的数据  etree.HTML()

本地文件代码(070xpath的基本使用.html)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <title>Title</title>
</head>
<body>
    <ul>
        <li id="l3">北京</li>
        <li id="l2">上海</li>
        <li id="c2" class="c1">深圳</li>
        <li>武汉</li>
    </ul>
<!--    <ul>-->
<!--        <li>大连</li>-->
<!--        <li>锦州</li>-->
<!--        <li>沈阳</li>-->
<!--    </ul>-->
</body>
</html>

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值