爬虫基础-xpath数据解析基础

xpath解析:
    -最常用且最高效便捷的一种解析方式,通用性强.
    - xpath解析原理
        - 1. 实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中
        - 2. 调用etree对象中的xpath方法结合着xpath表达式实现标签的定位和内容的捕获.
    - 环境安装:
        - pip install lxml
    - 如何实例化一个etree对象
        - 1. 将本地的html文档中的源码数据加载到etree对象中:
            etree.parse(filePath)
        - 2. 将从互联网上获取的源码数据加载到该对象中
            etree.HTML('page_text')
    - xpath('xpath表达式')                 #返回的是列表
        - /html/body/div                # 表示从根节点开始定位,一个/表示的是一个层级
        - /html//div                    # //表示多个层级
        - //div                         # 定位源码中所有div
        - 标签定位
            - 写法 //tag[@attrName="attrValue"]
            - //div[@class="book_list"]     # 定位到class属性为book_list的div的标签
        - 索引定位
            - //div[@class="book_list"]/p[3]      # 定位到class属性为book_list的div的第三个p标签-索引是从1开始
            - //div[@class="book_list"]//li[5]/a  # 定位到class属性为book_list的div标签下第五个li标签下的a标签
        - 取文本:
            - /text()               # 取直系文本-列表
                - //div[@class="book_list"]//li[5]/a/text()[0]
            - //text()              # 获取所有文本内容-列表
                - //div[@class="book_list"]//li[5]/a//text()[0]
        - 取属性:
            - /@attrName
                - //div[@class="img_list"]//img/@src

 

posted @ 2020-08-14 12:22  消磨_时间  阅读(138)  评论(0编辑  收藏  举报