zoukankan      html  css  js  c++  java
  • pyquery库

    pyquery库

    侧重于css选择器,JQuery

    安装:pip3 install pyquery
    GitHub:https://github.com/gawel/pyquery
    PyPI:https://pypi.python.org/pypi/pyquery
    官方文档:http://pyquery.readthedocs.io
    DOM操作文档:http://pyquery.readthedocs.io/en/latest/api.html
    CSS选择器参考:http://www.w3school.com.cn/css/index.asp

    初始化

    from pyquery import PyQuery as pq
    doc = pq(html)  # 通过html字符串初始化PyQuery对象
    doc = pq(url='http://cuiqingcai.com')  # 通过url,相当于pq(requests.get('http://cuiqingcai.com').text)
    doc = pq(filename='demo.html')  # 通过文件初始化
    

    基本CSS选择器

    from pyquery import PyQuery as pq
    doc = pq(html)
    doc('#container .list li')  # 直接向pyquery对象中传入css选择器,doc.css()支持更多选择器
    

    函数操作

    函数和jQuery中函数的用法完全相同,函数中也可以传入选择器

    查找节点

    方法 作用
    find(): 的查找范围是节点的所有子孙节点
    children(): 查找子节点
    parent(): 获取某个节点的父节点
    parents(): 获取祖先节点
    siblings(): 获取兄弟节点
    对于多个返回结需要遍历获取,items()方法后,会得到一个生成器

    获取信息

    • attr()方法:来获取属性,传入属性的名称,就可以得到这个属性值,a.attr('herf'),返回结果包含多个节点时,调用attr()方法,只会得到第一个节点的属性
    • attr属性:获取属性,a.attr.href
    • text()方法:获取其内部的纯文本,a.text(),返回结果包含多个节点时调用,将所有节点取文本之后用空格合并成一个字符串
    • html()方法:获取这个节点内部的HTML文本,返回结果包含多个节点时调用html()方法返回的是第一个节点的内部HTML文本

    DOM节点操作

    • addClass(),removeClass():动态增加和删除节点的class属性
    • attr('属性名', '属性值')、text('文本内容')和html('html代码'):传入相应内容
    • remove(),append()、empty()和prepend():删除,父元素最后部分插入标记,清空标记内容,父元素最前部分插入标记

    伪类选择器

    li = doc('li:first-child')#第一个子元素
    li = doc('li:last-child')#最后一个子元素
    li = doc('li:nth-child(2)')#第二个子元素
    li = doc('li:gt(2)')#大于2的子元素
    li = doc('li:nth-child(2n)')#偶数个子元素
    li = doc('li:contains(second)')#内容有second的子元素
    
  • 相关阅读:
    soa
    最短路径分词
    Collector
    solr params.json
    oracle第一章
    记一次web项目总结
    java.util 类 TreeSet<E>
    自定义jstl标签库
    java二维数组简单初步理解
    Java中Array的常用方法
  • 原文地址:https://www.cnblogs.com/Wang-Y/p/9359635.html
Copyright © 2011-2022 走看看