• python-爬虫lxml库


    lxml库

    #编码流程
    
    #导包
    from lxml import etree
    #请求
    res=requests.get() #解析的是一个html文件
    #实例化,加载响应数据
    tree=etree.HTML(res.text) #etree 加载的是响应数据的文本形式
    #调用xpath解析数据
    获取到的可能是节点或文本或属性 = tree.xpath('xpath表达式')
    

    1.DOM树与xpath解析原理

    xpath的解析原理:根据DOM节点的结构关系,来进行定位节点
    

    2.xpath语法

    1.基本语法
    	.:代表当前节点
        /:代表根节点
        //:代表任意位置
        nodename:节点名定位
        nodename[@attribute='value']:根据节点的属性进行定位
        @attribue:获取节点的属性值
        text():获取节点的文本
    
    2.属性匹配
     1.单属性多值匹配:当节点的一个属性有多个值时,根据其中的一个进行定位--->contains 函数 
            contains(@data-hook,"category-products")
     2.多属性匹配:用节点的多个属性共同定位节点
    	案例:<div class="sline" id="sline4">多属性匹配</div>
        //div[@class="sline" and @id="sline4"]
        
    
    3.按序选择
        a.索引定位:[1]-->[]中写任意数字,索引从1开始,跟python有区别
        b.位置函数:position(1)>1-->()中写任意数字,代表从2开始
    response.xpath("/html/body/div[3]/div/div[2]/ul/li[position()>1]")
        c.last()函数:定位最后一个,last()-1代表定位倒数第二个
    
    从小白到大神的蜕变~~
  • 相关阅读:
    20201014-Python学习笔记7
    20201013-kali学习笔记1
    uc-devtools使用
    H5混合应用测试流程
    小米手机开启开发者选项
    appium 元素定位工具介绍
    Appium常见元素操作
    问题:error: The instrumentation process cannot be initialized. Make sure the application under test does.
    获取appPackage与appActivity方法
    app测试定位方法
  • 原文地址:https://www.cnblogs.com/tjw-bk/p/13751991.html
Copyright © 2020-2023  润新知