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的子元素
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WY_记录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值