pyquery、xpath和线程池

pyquery的使用

​ pyquery的节点操作本质上和jquery一样,一个pyquery对象就是一个容器,容器中的元素就是相关的所有标签,操作pyquery对象会直接操作pyquery中的所有标签。

  • 通过html页面创建pyquery对象

    pyquery(html页面)

  • 通过选择器选中标签

    pyquery对象(css选择器) - 获取选择器选中的标签

    pyquery对象.find(css选择器) - 获取选择器选中的标签

  • 获取标签内容和属性

    pyquery对象.text()/pyquery对象.html()

    pyquery对象.attr(属性名)

xpath数据解析

​ xpath是专门用来解析xml数据格式的数据的(采用直接获取节点的方式解析数据)

  • xml数据

    xml和json一样都属于数据格式,是用来进行数据传递的数据格式。json的有点在于轻量级,占带宽小;xml老牌、传统,数据加密方便

    xml数据格式:和html一样通过节点保存数据

    节点 - <节点名></节点名>

    根节点 - 最外层的节点

    属性 - 和html标签属性一样

    内容 - 节点中间的数据

  • xpath数据解析 - 通过路径表达式在xml文件中选取节点

    python使用xpath语法解析xml数据需要第三方库:lxml

    • 创建树获取根节点

      etree,XML(xml数据)

    • 使用xpath获取指定节点

      节点对象.xpath(路径)

      路径:

      • 节点名称 - 在当前节点中获取指定名称的子节点

        节点对象.xpath(节点名称)

      • / - 从根节点开始获取节点(只能写绝对路径)

        注意:根节点不会因为xpath作用的节点变化而变化

        节点对象.xpath(/绝对路径)

      • // - 从任意位置开始获取

        节点对象.xpath(//路径)

      • ./ - 获取当前节点下的子节点

        节点对象.xpath(./路径)

      • …/ - 获取当前节点的父节点的子节点

        节点对象.xpath(…/路径)

      • @ - 选取属性

        节点对象.xpath(节点/@属性) - 获取指定节点中的所有指定属性值

        节点对象.xpath(节点[@属性]) - 获取所有有指定属性的的指定节点

        节点对象.xpath(节点[@属性=属性值]) - 获取所有指定属性是指定属性值的指定节点

    • 谓词

      • [N] - 获取第N个节点(指定标签下有多个指定标签的时候才有意义)

      • [last()] - 获取最后一个节点

        [last()-N] - 获取倒数第N+1个节点

      • [position<N] - 获取前N-1个节点

      • [@属性名] - 有指定属性的节点

      • [@属性名=属性值] - 指定属性是指定值的节点

      • [节点条件] - 子节点的内容满足指定条件的节点

    • 通配符

      *表示任何(任何标签或任何属性)

    • 选取若干路径

      路径1|路径2|路径3|… - 选中所有路径对应的节点

线程池

线程池:自动创建线程并自动安排每个线程的任务

  • 创建线程对象

    ThreadPool(线程数) - 创建线程池对象,并设置线程数(线程由线程池自动创建)

  • 确定任务对应的函数

  • 创建任务列表

    创建任务对象:makeRequests(任务对应的函数,任务函数调用时传递的实参列表)

  • 把每个任务添加到线程池中

    线程池对象.putRequest(执行的任务)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值