• <class 'str'>
  • 进程已结束,退出代码0
  • 实例2:读取并解析HTML文件——

            创建html文件

            

    1. from lxml import etree
    2. # 将html文件进行读取
    3. html = etree.parse('index.html')
    4. # 将html内容序列化
    5. result = etree.tostring(html).decode('utf-8')
    6. print(result)
    7. print(type(result))
    8. html = etree.HTML(result) # 这里需要传入一个html形式的字符串
    9. print(html)
    10. print(type)

     输出——

    1. "en">
    2. "UTF-8"/>
    3. python&<span class="hljs-comment">#20043;lxml库
      • "林" class="student">19-year-old
    4. "文" class="student">18-year-old
      • "西红柿">&#29983;的
      • "月饼">&#35910;沙馅
        • class="time">2018.9.5-2021.6.9
        • class="incident">we are good friends
        • <class 'str'>
        • 0x2117a800dc0>
        • <class 'type'>
        • 进程已结束,退出代码0
        • 三,Xpath

          XPath(XML Path Language)是一门在xml文档中查找信息的语言,可用来在xml文档中对元素和属性遍历

                  选取节点

          常用路径表达式:

                  谓语 

          用于查找某个特定节点或者包含某个特定的值的节点,被嵌在方括号中。

                   选取未知节点

          XPath通配符可以用来选取未知的XML元素

                   选取若干路径

                  通过在路径表达式中使用‘|’运算符,可选取若干路径

                   Chrome插件XPath Helper安装使用

          插件下载地址:https://download.csdn.net/download/weixin_62599885/86401664

          安装

                   打开chrome——点击右上角(三个点)——更多工具——扩展程序——将插件拖入

          使用

          ·点击碎片图案,选择XPath插件,选择固定

          ·定位爬取内容:按住x键,选中要爬取的信息即可获取标签路径

                  Xpath实战 

          依然使用上面的index.html文件

          1.获取所有的标签

          1. from lxml import etree
          2. html = etree.parse('index.html')
          3. print(type(html)) # 显示etree.parse() 返回类型
          4. result = html.xpath('//wi')
          5. print(result) # 打印标签的元素集合
          6. print(len(result))
          7. print(type(result))
          8. print(type(result[0]))

          输出——

          1. <class 'lxml.etree._ElementTree'>
          2. [0x20e534f37c0>, 0x20e5370fb00>]
          3. 2
          4. <class 'list'>
          5. <class 'lxml.etree._Element'>
          6. 进程已结束,退出代码0

           2.获取标签所有class属性

          1. from lxml import etree
          2. html = etree.parse('index.html')
          3. result = html.xpath('//wi/@class')
          4. print(result)

          输出——

          ['student']

          3.获取

          1. from lxml import etree
          2. html = etree.parse('index.html')
          3. result = html.xpath('//ul/li[@name="林"]')
          4. print(result)

          输出——

          [0x2b6654df880>]

          4.获取 标签下所有的 标签

          1. from lxml import etree
          2. html = etree.parse('index.html')
          3. result = html.xpath('//ul/ti')
          4. print(result)

          输出——

          [0x24d9c46fb00>, 0x24d9c46fa80>]

          5.获取

          1. from lxml import etree
          2. html = etree.parse('index.html')
          3. result = html.xpath('//ul/ti//@class')
          4. print(result)

          输出——

          ['time', 'incident']

          6.获取最后一个

          1. from lxml import etree
          2. html = etree.parse('index.html')
          3. result = html.xpath('//ul[last()]/wi//@love-food')
          4. print(result)

          输出——

          ['月饼']

          7.获取倒数第二个元素的内容

          1. from lxml import etree
          2. html = etree.parse('index.html')
          3. result = html.xpath('//ul[last()-1]/wi')
          4. print(result[0].text)

          输出——

          18-year-old

          8.获取class 值为 incident 的标签名

          1. from lxml import etree
          2. html = etree.parse('index.html')
          3. result = html.xpath('//*[@class="incident"]')
          4. #tag方法可以获取标签名
          5. print(result[0].tag)

          输出——

          ti

        • 相关阅读:
          Rockland丨Rockland HCP抗体开发流程
          ssm毕设项目学生公寓智慧管理系统d6472(java+VUE+Mybatis+Maven+Mysql+sprnig)
          Redis学习 - 了解Redis(三)
          前端教程-TypeScript
          MYSQL——命令大全
          【C++】C++多态——实现、重写、抽象类、原理
          JavaScript - 将特定格式的字符串保存为 CSV 文件
          Avue-data数据大屏显示饼图(附Demo)
          5G NR下行载波波形生成-Matlab
          golang channel
        • 原文地址:https://blog.csdn.net/weixin_62599885/article/details/126362182