xpath与lxml解析页面

lxml:

HTML 解析器 BeautifulSoup(markup, “lxml”)
速度快
文档容错能力强
需要安装C语言库
处理网页数据
lxml 大部分功能都存在 lxml.etree中

xpath:全称XML PATH Language, 一种小型的查询语言;

支持的解析:
XML格式
html格式
通过元素,和属性进行导航

示例

import lxml.etree as etree



# 1). 将html内容转化成xpath可以解析/匹配的格式;
html = """
<!DOCTYPE html>
<html>
<head lang="en">
    <title>xpath测试</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<div id="content">
    <ul id="ul">
        <li>NO.1</li>
        <li>NO.2</li>
        <li>NO.3</li>
    </ul>
    <ul id="ul2">
        <li>one</li>
        <li>two</li>
    </ul>
</div>
<div id="url">
    <a href="http:www.58.com" title="58">58</a>
    <a href="http:www.csdn.net" title="CSDN">CSDN</a>
</div>
</body>
</html>

"""

selector = etree.HTML(html)
print(selector)

# 2).
# //: 对全文进行扫描

str = selector.xpath('//div[@id="content"]/ul[@id="ul"]/li/text()')
print(str)
print(type(str))

# 需求: 获取文件中div的属性id为”url“里面的所有a标签的href属性
str = selector.xpath('//div[@id="url"]/a/@href')
print(str)

# 获取符合条件的标签内容;
str = selector.xpath('//div"]').extract()
print(str)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值