问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python etree xpath问题

发布网友 发布时间:2022-04-27 06:47

我来回答

2个回答

懂视网 时间:2022-05-10 10:29

本篇文章给大家介绍的是Python爬虫之lxml-etree和xpath的结合使用(附案例),内容很详细,希望可以帮助到大家。

lxml:python 的HTML/XML的解析器

官网文档:https://lxml.de/

使用前,需要安装安 lxml 包

功能:

1.解析HTML:使用 etree.HTML(text) 将字符串格式的 html 片段解析成 html 文档

2.读取xml文件

3.etree和XPath 配合使用

lxml 的安装

【PyCharm】>【file】>【settings】>【Project Interpreter】>【+】 >【lxml】>【install】

具体操作截图:

2018082919141626.jpg

20180829191424943.jpg

20180829191420268.jpg

lxml-etree 的使用

  • 案例v25文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py25etree.py

  • 用 lxml 来解析HTML代码

  • # 先安装lxml
    # 用 lxml 来解析HTML代码
    
    from lxml import etree
    
    text = '''<p>
     <ul>
     <li class="item-0"><a href="0.html">item 0 </a></li>
     <li class="item-1"><a href="1.html">item 1 </a></li>
     <li class="item-2"><a href="2.html">item 2 </a></li>
     <li class="item-3"><a href="3.html">item 3 </a></li>
     <li class="item-4"><a href="4.html">item 4 </a></li>
     <li class="item-5"><a href="5.html">item 5 </a></li>
     </ul> </p>'''
    
    # 利用 etree.HTML 把字符串解析成 HTML 文件
    html = etree.HTML(text)
    s = etree.tostring(html).decode()
    
    print(s)

    运行结果

    20180829193033919.jpg

    lxml-etree 的使用

  • 案例v26etree2文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py26etree2.py

  • 读取xml文件:

  • # lxml-etree读取文件from lxml import etree
    
    xml = etree.parse("./py24.xml")
    sxml = etree.tostring(xml, pretty_print=True)
    
    print(sxml)

    运行结果

    20180829200120588.jpg

    etree和XPath 配合使用

  • 案例v26expath.文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py26expath.py

  • etree和XPath 配合使用:

  • # lxml-etree读取文件from lxml import etree
    
    xml = etree.parse("./py24.xml")
    print(type(xml))# 查找所有 book 节点rst = xml.xpath('//book')
    print(type(rst))
    print(rst)# 查找带有 category 属性值为 sport 的元素rst2 = xml.xpath('//book[@category="sport"]')
    
    print(type(rst2))
    print(rst2)# 查找带有category属性值为sport的元素的book元素下到的year元素rst3 = xml.xpath('//book[@category="sport"]/year')
    rst3 = rst3[0]
    
    print('-------------
    ',type(rst3))
    print(rst3.tag)
    print(rst3.text)

    运行结果

    etree和XPath 配合使用结果

    20180829202438973.jpg

    热心网友 时间:2022-05-10 07:37

    加判断咯

    空的内容,可以自己赋值,这样输出结果就对齐了

    a=html.xpath(标签内容)
    if len(a)<1:
        a.append('None')

    追问xpath不是一整列一起取出来的吗?遇到了空的就直接跳过了,我没法知道在这一列中是哪一个缺失,所以就没法补充

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    青海摇什么时候火的 宋庄镇都有哪些村 唐山多地解除封控管理、静态管理,市民仍需做好哪些防护? 拼多多上面的旗舰店是正品吗 ...尺是20:1的图纸上,应画多少厘米,在比例尺是1:200的图纸上测_百度知... 4x2=8,4x20=8,4x200=800,我发现了:一个因数不变,另外一个因数乘以几,积... 小学三年级数学上册4X2=8,4X20=80,4X200=800我发现:一个因数不变,另... 描写雪的段落优选好句60句 程序员最低学历是多少 电脑不识别独显了怎么办? 测量方法与数据处理 小白刚学习python爬取,运行解析没有问题,但解析.xpath运行出来没有... python爬虫中的xpath 中strong该怎么写 Python中scrapy爬虫,如何爬取ul标签下的多个并列的li标签中的内容,xpath... 请问谁知道振动分析啊? python xpath 是哪个模块 如何利用模态分析来解决振动问题 python爬虫怎么用xpath 变速器上采集到的振动信号如何用matlab进行分析处理? python xpath语法问题? 振动测量有几种主要方法? 大额支付系统运行时间调整为5*21+12小时,具体指的是哪个时间段? 武术使我奋斗向前作文 python爬虫怎样使用xpath matlab 振动信号处理中的 预处理 时域分析 频域分析程序 GUI设计 数据是台架振动数据 诈骗罪案件主要分为哪几类 谁能懂百度推广里关键词优化? 英语作文介绍一项最能体现中国文华的武术 哪个做网络推广的比较好阿,我想做推广,百度推广跟优化有什么区别阿 振动试验的环境试验 用labview如何去实现采集振动的信号收集呢?帮帮忙,谢谢!我想要数据采集程序!如何去分析共振信号呢? python爬虫 xpath多标签怎么写 Python使用xpath爬取数据返回空列表,求解答 声波测试数据处理主要内容是。 谷歌浏览器直接提取的xpath,在python中为什么无法提取相应内容_百度... python爬虫一般用哪个模块 梦见分了一个大房子,说是在墓地上建的 人在国外手机没有开通国际长途微信也没有,但是有wif怎么开通国际长途? 梦见分到两套房子,一套在东,一套在西,都是新的,如何解。 拨打国际长途用什么网络电话好啊? 梦见分到一栋破旧大房子,房子很大,在市区,一楼是门头房,大概4层,很气派像官邸。但是旧了,有的窗 国际IP长途业务..... 我们公司要和很多国家很联系 直接用手机拨打国际长途也很贵 有没有什么好的办法 在哪里可以下载一个软件用无线网络打国际长途? 用无线网怎么打电话 梦见分给我的房子是灵堂好吗 国内打给国外的中国手机要怎么打? 无线网络打国际长途电话会扣钱吗? 天翼手机应如何拨打国际长途电话? 怎么用无线网打长途电话 用wifi电话打电话多少钱一分钟?打国际长途多少钱一分钟?扣 不扣本机号码的费用