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

  • 相关阅读:
    ListView的删除绑定有问题
    ListView的查询绑定
    突然发现这个VSPaste插件粘贴过来的代码居然有白色背景,还只有一部分有,好纠结。。。
    IIS8中部署WCF服务出错:HTTP 错误 404.3 Not Found
    VS2012更新Update1后帮助查看器无法打开
    VS中的一些有用的小工具
    关于ASP.NET的数据绑定
    关于SQL SERVER中TSQL语句的变量
    关于ADO.NET使用中遇到的一些错误
    C#简单的多线程
  • 原文地址:https://www.cnblogs.com/dbf-/p/11429060.html
Copyright © 2011-2022 走看看