码迷,mamicode.com
首页 > 编程语言 > 详细

Python pyquery

时间:2019-08-29 13:31:32      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:pre   元素   com   获取信息   name   选中   字符串   css   ast   

pyquery

一个像 jQuery 一样的解析库

初始化

字符串初始化

from pyquery import PyQuery as pq
html = ''
doc = pq(html)

文件初始化

from pyquery import PyQuery as pq
doc = pq(filename='')

URL 初始化

from pyquery import PyQuery as pq
doc = pq(url='https://cnblogs.com/dbf-')

选择器

from pyquery import PyQuery as pq
html = ''
doc = pq(html)

doc('#i1')          # id 选择器
doc('.c1')          # class 选择器
doc('div')          # 标签选择器
doc('#i1, #i2')     # 组合选择器 id==i1 或 id==i2
doc('#i1.c1')       # 组合选择器 id==i1 且 id==i2
doc('#i1 .c1')      # 层级选择器 id==i1 下所有 class==c1 的标签
doc('div > .c1')    # 层级选择器 id==i1 下一层 class==c1 的标签

伪类选择器

from pyquery import PyQuery as pq
html = ''
doc = pq(html)

doc('p:first-child')    # p 标签的第一个子标签
doc('p:last-child')     # p 标签的最后一个子标签
doc('p:nth-child(2)')   # p 标签的第二个子标签
doc('p:gt(2)')          # p 标签的第三个之后的子标签

其他选择器:https://www.w3school.com.cn/cssref/css_selectors.asp

查找元素

子孙元素

from pyquery import PyQuery as pq
html = ''
doc = pq(html)

doc('#i1').find('.c1')          # == doc('#i1 .c1') 获取 id==i1 元素的子孙元素
doc('#i1').children('.c1')      # == doc('#i1 > .c1') 获取 id==i1 元素的子元素

祖先元素

from pyquery import PyQuery as pq
html = ''
doc = pq(html)

doc('#i1').parent()         # 获取 id==i1 元素的父元素
doc('#i1').parents()        # 获取 id==i1 元素的所有祖先元素
doc('#i1').parents('.c1')   # 获取 id==i1 元素的所有 class==c1 的祖先元素

兄弟元素

from pyquery import PyQuery as pq
html = ''
doc = pq(html)

doc('#i1').parent()         # 获取 id==i1 元素的父元素
doc('#i1').parents()        # 获取 id==i1 元素的所有祖先元素
doc('#i1').parents('.c1')   # 获取 id==i1 元素的所有 class==c1 的祖先元素

.items() 返回一个生成器

获取信息

属性

通过属性名获取属性

from pyquery import PyQuery as pq
html = ''
doc = pq(html)

doc('#i1').attr('href')
doc('#i1').attr.href

内容

通过 .text() 可以获取标签内文本
通过 .html() 可以获取标签内 html

DOM 操作

addClass() & removeClass()

通过 addClass() & removeClass() 可以为选中元素添加或删除 class

attr & css

通过 attr() & css() 可以为选中元素添加、修改 attr、css (style 属性)

from pyquery import PyQuery as pq
html = ''
doc = pq(html)

doc('#i1').attr('href')
doc('#i1').attr('href', 'https://cnblogs.com/dbf-')
doc('#i1').css('color', 'red')

remove

通过 remove 可以移除选中的元素

Python pyquery

标签:pre   元素   com   获取信息   name   选中   字符串   css   ast   

原文地址:https://www.cnblogs.com/dbf-/p/11429060.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!