• xpath获取标签对本身含内容, 获取html内容


    通常使用xpath我们直接定位到标签后, 使用/text() 或 //text()来获取标签对之间的文本值,

    但特殊情况下我们也需要获取标签本身含文本值, 操作如下:

    文件为html, 标签对结构如下:

    <table id='1h'> 
      <tr>
         <td>Row value 1</td>
        <td>Row value 2</td>
      </tr>
    </table>

    代码如下:
    from lxml import etree
    import requests
    from lxml.html import fromstring, tostring
    url = "https://www.baidu.com/"

    ret = requests.get(url, headers=headers)
    code = ret.apparent_encoding # 获取url对应的编码格式
    ret.encoding = code
    html = ret.text # html文件内容即示例中的标签

    tree = etree.HTML(html)
    result = tree.xpath('//*[@id="lh"]')[0]

    print('看结果这里', tostring(result, encoding=code).decode(code))

    注: tostring()方法即可把通过xpath定位到的标签(含该标签)及其下的所有标签输出,
      切记使用decode()方法来进行解码


  • 相关阅读:
    POJ 3252 Round Numbers
    HDU 1024 Max Sum Plus
    HDU 1024 Max Sum Plus Plus
    HDU 1698 Just a Hook
    HDU 1049 Climbing Worm
    HDU 3386 Reversi
    树状数组总结
    HDU 1556 Color the ball
    树形数组
    HDU 1188 敌兵布阵
  • 原文地址:https://www.cnblogs.com/quzq/p/11032413.html
Copyright © 2020-2023  润新知