zoukankan      html  css  js  c++  java
  • Python pyquery

    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 可以移除选中的元素

  • 相关阅读:
    二分练习题4 查找最接近的元素 题解
    二分练习题5 二分法求函数的零点 题解
    二分练习题3 查找小于x的最大元素 题解
    二分练习题2 查找大于等于x的最小元素 题解
    二分练习题1 查找元素 题解
    code forces 1176 D. Recover it!
    code forces 1173 B. Nauuo and Chess
    code forces 1173 C. Nauuo and Cards
    吴恩达深度学习课程笔记-15
    吴恩达深度学习课程笔记-14
  • 原文地址:https://www.cnblogs.com/dbf-/p/11429060.html
Copyright © 2011-2022 走看看