zoukankan      html  css  js  c++  java
  • python使用xpath获取内容

    python使用xpath获取内容

    <div class="leftbox">
      <div class="panel">
        <div class="mtitle path"><h1>12</h1></div>
        <div class="mcon1"><h2>34</h2></div>
        <div class="mcon2">测试<a href="">链接</a></div>
      </div>
    </div>
    <div class="rightbox">
      <div class = "mtitle3 path">123</div>
      <div algin="mcon3">345</div>
      <div>ereer</div>
    </div>


    from lxml import etree
    from lxml.html import tostring

    # 1.获取h1标签的内容
    data = selector.xpath('//div[@class="leftbox"]/div[@class="panel"]/div[contains(@class, "mtitle")]/h1/text()')[0]

    # 2.获取h2标签的内容
    data = selector.xpath('//div[@class="leftbox"]/div[@class="panel"]/div[@class="mcon1"]/h2/text()')[0]

    # 3.获取mcon2标签的全部文字内容
    data = selector.xpath('//div[@class="leftbox"]/div[@class="panel"]/div[@class="mcon2"]').xpath('string(.)')

    # 4.获取class包含mtitle3 或者 algin=mcon3
    data = selector.xpath('//div[@class="rightbox"]/div[contains(@class,"mtitle3") or @algin="mcon3"]')

    # 5.获取当前标签全部字符串内容,包括标签本身
    datas = selector.xpath('//div[@class="rightbox"]/div[contains(@class,"mtitle3") or @algin="mcon3"]')
    for data in datas:
      # 编码格式为源码编码格式
      str = tostring(data, encoding="utf-8").decode("utf-8")
      print(str)

    # 6.获取当前标签内的全部文字(不含html标签)
    datas = selector.xpath('//div[@class="rightbox"]')
    data = datas[0]
    data = data.xpath(‘.//text()’)
    data = ''.join([i.strip() for i in data])

  • 相关阅读:
    solaris10 服务管理
    DLL的导出导入与调用
    c# Font字体
    WaitForMultipleObjects、WaitForSingleObject、GetExitCodeThread
    solaris10补丁管理
    注册表API函数
    简单的编码加密
    asp.net 调用外部程序
    Global.cs 获取网址
    Jquery easyui dialog组件, 默认不自动打开
  • 原文地址:https://www.cnblogs.com/WebLinuxStudy/p/14502609.html
Copyright © 2011-2022 走看看