zoukankan      html  css  js  c++  java
  • 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代表定位倒数第二个
    
    从小白到大神的蜕变~~
  • 相关阅读:
    我的DBDA类文件
    登录时的验证码怎么写?
    phpcms 制作简单企业站的常用标签
    HTML 基础知识
    目标
    split函数的实现
    myString操作符重载
    cout中的执行顺序_a++和++a
    二叉树的层次遍历法
    树的前中序遍历_求后续遍历
  • 原文地址:https://www.cnblogs.com/tjw-bk/p/13751991.html
Copyright © 2011-2022 走看看