007 PyQuery

2023-10-20 07:38
文章标签 007 pyquery

本文主要是介绍007 PyQuery,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    • 安装PyQuery
    • PyQuery
      • 初始化
        • 字符串初始化
        • URL初始化
        • 文件初始化
      • 基本CSS选择器
      • 查找元素
        • 子元素
        • 父元素
      • 官方文档

1.安装PyQuery

pip install pyquery

2.PyQuery

1.初始化

1.字符串初始化
html = '''
<div><ul><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div>
\'''
from pyquery import PyQuery as pq
doc = pq(html)
print(doc('li'))
2.URL初始化
from pyquery import PyQuery as pq
doc = pq(url='http://www.baidu.com')
print(doc('head'))
3.文件初始化
from pyquery import PyQuery as pq
doc = pq(filename='demo.html')
print(doc('li'))

2.基本CSS选择器

html = '''
<div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div>
\'''
from pyquery import PyQuery as pq
doc = pq(html)
print(doc('#container .list li'))

3.查找元素

1.子元素
html = '''
<div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div>
\'''
from pyquery import PyQuery as pq
doc = pq(html)
items = doc('.list')
print(type(items))
print(items)
lis = items.find('li')
print(type(lis))
print(lis)
lis = items.children()
print(type(lis))
print(lis)
lis = items.children('.active')
print(lis)
2.父元素
html = '''
<div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div>
'''
from pyquery import PyQuery as pq
doc = pq(html)
items = doc('.list')
container = items.parent()
print(type(container))
print(container)
\```

html = ”’

  • first item
  • second item
  • third item
  • fourth item
  • fifth item


\”’
from pyquery import PyQuery as pq
doc = pq(html)
items = doc(‘.list’)
parents = items.parents()
print(type(parents))
print(parents)
#### 3.兄弟元素

html = ”’

  • first item
  • second item
  • third item
  • fourth item
  • fifth item


\”’
from pyquery import PyQuery as pq
doc = pq(html)
li = doc(‘.list .item-0.active’)
print(li.siblings())

html = ”’

  • first item
  • second item
  • third item
  • fourth item
  • fifth item


\”’
from pyquery import PyQuery as pq
doc = pq(html)
li = doc(‘.list .item-0.active’)
print(li.siblings(‘.active’))
### 4.遍历
#### 1.单个元素

html = ”’

  • first item
  • second item
  • third item
  • fourth item
  • fifth item


\”’
from pyquery import PyQuery as pq
doc = pq(html)
li = doc(‘.item-0.active’)
print(li)
<li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li>

html = ”’

  • first item
  • second item
  • third item
  • fourth item
  • fifth item


\”’
from pyquery import PyQuery as pq
doc = pq(html)
lis = doc(‘li’).items()
print(type(lis))
for li in lis:
print(li)
\<class 'generator'\>
\<li class="item-0"\>first item\</li\>\<li class="item-1"\>\<a href="link2.html"\>second item\</a\>\</li\>\<li class="item-0 active"\>\<a href="link3.html"\>\<span class="bold"\>third item\</span\>\</a\>\</li\>\<li class="item-1 active"\>\<a href="link4.html"\>fourth item\</a\>\</li\>\<li class="item-0"\>\<a href="link5.html"\>fifth item\</a\>\</li\>### 5.获取信息
#### 1.获取属性

html = ”’

  • first item
  • second item
  • third item
  • fourth item
  • fifth item


\”’
from pyquery import PyQuery as pq
doc = pq(html)
a = doc(‘.item-0.active a’)
print(a)
print(a.attr(‘href’))
print(a.attr.href)
\<a href="link3.html"\>\<span class="bold"\>third item\</span\>\</a\>
link3.html
link3.html#### 2.获取文本

html = ”’

  • first item
  • second item
  • third item
  • fourth item
  • fifth item


\”’
from pyquery import PyQuery as pq
doc = pq(html)
a = doc(‘.item-0.active a’)
print(a)
print(a.text())
\<a href="link3.html"\>\<span class="bold"\>third item\</span\>\</a\>
third item#### 3.获取HTML

html = ”’

  • first item
  • second item
  • third item
  • fourth item
  • fifth item


\”’
from pyquery import PyQuery as pq
doc = pq(html)
li = doc(‘.item-0.active’)
print(li)
print(li.html())
\<li class="item-0 active"\>\<a href="link3.html"\>\<span class="bold"\>third item\</span\>\</a\>\</li\>\<a href="link3.html"\>\<span class="bold"\>third item\</span\>\</a\>### 6.DOM操作
#### 1.addClass、removeClass

html = ”’

  • first item
  • second item
  • third item
  • fourth item
  • fifth item


\”’
from pyquery import PyQuery as pq
doc = pq(html)
li = doc(‘.item-0.active’)
print(li)
li.removeClass(‘active’)
print(li)
li.addClass(‘active’)
print(li)
\<li class="item-0 active"\>\<a href="link3.html"\>\<span class="bold"\>third item\</span\>\</a\>\</li\>\<li class="item-0"\>\<a href="link3.html"\>\<span class="bold"\>third item\</span\>\</a\>\</li\>\<li class="item-0 active"\>\<a href="link3.html"\>\<span class="bold"\>third item\</span\>\</a\>\</li\>#### 2.attr、css

html = ”’

  • first item
  • second item
  • third item
  • fourth item
  • fifth item


\”’
from pyquery import PyQuery as pq
doc = pq(html)
li = doc(‘.item-0.active’)
print(li)
li.attr(‘name’, ‘link’)
print(li)
li.css(‘font-size’, ‘14px’)
print(li)
\<li class="item-0 active"\>\<a href="link3.html"\>\<span class="bold"\>third item\</span\>\</a\>\</li\>\<li class="item-0 active" name="link"\>\<a href="link3.html"\>\<span class="bold"\>third item\</span\>\</a\>\</li\>\<li class="item-0 active" name="link" style="font-size: 14px"\>\<a href="link3.html"\>\<span class="bold"\>third item\</span\>\</a\>\</li\>#### 3.remove

html = ”’

Hello, World

This is a paragraph.

\”’
from pyquery import PyQuery as pq
doc = pq(html)
wrap = doc(‘.wrap’)
print(wrap.text())
wrap.find(‘p’).remove()
print(wrap.text())

Hello, World This is a paragraph.
Hello, World### 7.其他DOM方法
[pyquery文档]http://pyquery.readthedocs.io/en/latest/api.html### 8.伪类选择器

html = ”’

  • first item
  • second item
  • third item
  • fourth item
  • fifth item


\”’
from pyquery import PyQuery as pq
doc = pq(html)
li = doc(‘li:first-child’)
print(li)
li = doc(‘li:last-child’)
print(li)
li = doc(‘li:nth-child(2)’)
print(li)
li = doc(‘li:gt(2)’)
print(li)
li = doc(‘li:nth-child(2n)’)
print(li)
li = doc(‘li:contains(second)’)
print(li)
“`
\
  • first item\
  • \

  • \fifth item\\
  • \

  • second item\\
  • \

    8.官方文档

    [官方文档]http://pyquery.readthedocs.io/


这篇关于007 PyQuery的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/245661

相关文章

007数据库对象——表——正式进入数据库

基本数据库对象:表,视图,索引,触发器,存储过程,用户,图表,规则,默认值。  表:表示数据库中最最基本的对象,我们的数据都存放在表中。 表由行,列构成。列为字段,行为记录。一般我们在设计的表的时候操作的是列,在操作数据的时候用的是行。 一、表结构的操作: 表的基本操作:创建,修改,删除。 要创建一个表,上篇博客中写到,添加数据库对象就像是给大楼里招住户,表中的数据就是每个用

容器基本概念_从虚拟化技术_到容器化技术_开通青云服务器_并远程连接_容器安装---分布式云原生部署架构搭建007

这一部分,属于以前都会用到的,会快速过一遍,对于关键技术问题会加以说明 https://www.yuque.com/leifengyang/oncloud文档地址在这里,可以看,有些命令可以复制使用 可以看到容器的出现就是 目的就是,让你做的所有的软件,都可以一键部署启动 打包就是docker build  然后: 对于容器用的,统一存放容器镜像的地方是docker hub

【OpenHarmony4.1 之 U-Boot 2024.07源码深度解析】007 - evb-rk3568_defconfig 配置编译全过程

【OpenHarmony4.1 之 U-Boot 2024.07源码深度解析】007 - evb-rk3568_defconfig 配置编译全过程 一、编译后目录列表二、make distclean三、生成.config文件:make V=1 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- evb-rk3568_defconfig四、开始编译:CROS

PyQuery 通过规则获取指定数量,指定形式的的节点

PyQuery 对于PyQuery就没什么好说的了,网上大量的说明: 其是参照JQuery实现的python库,同BeautifulSoup一样 用于快速解析xml和html文件 获取你要的节点 以 爱丽丝梦游仙境 中的一段稍作修改后写个小例子的例子: html = '''<html><head><title>The Dormouse's story</title></head><bod

007、绘制数据plt.plot

plt.plot 是 Matplotlib 中最常用的函数之一,用于绘制线形图。该函数非常灵活,可以通过各种参数自定义图形的外观。下面将深入讲解 plt.plot 的使用,并通过多个例子展示其功能。 理论概述 plt.plot 的基本语法: plt.plot(x, y, format_string, **kwargs) x:x 轴数据。y:y 轴数据。format_string:可选,指

敏捷=996/007?现实是……

最近几年,大部分公司都在招聘信息里宣扬拥抱敏捷开发,敏捷管理,让人一看就觉得高大上,殊不知,不知道坑了多少纯真烂漫的应届生。 他们满怀期待地步入职场,以为凭借着自己985,211的金字招牌,在职场上混的风生水起,顶着敏捷的高大上,兴奋不已! 可事实却是,残酷的职场打工潜规则,让他们看清了社会残酷的现实。牛马的世界如何高谈鸿鹄之志。 虽然现实职场上,敏捷已然成为了免费加班,任劳任怨,早9晚10

PoEdu-Windows班-007 异步I/O

一、获取文件大小信息: 获取文件大小:GetFileSizeEx() BOOL GetFileSizeEx (   HANDLE hFile,               // handle to file PLARGE_INTEGER lpFileSize  // file size ); 获取文件在磁盘中占用的大小:GetCompressedFileSize()

[deeplearning-007]深度学习的核心bp算法的原创论文1986nature

bp算法在nature上的论文,1986年的,篇幅不长,公式也简单,一阶偏导和逐层反向求解 更多细节需要自己下来搞定。

C++基础编程100题-007 OpenJudge-1.3-05 计算分数的浮点数值

更多资源请关注纽扣编程微信公众号 http://noi.openjudge.cn/ch0103/05/ 描述 两个整数a和b分别作为分子和分母,既分数 a/b ,求它的浮点数值(双精度浮点数,保留小数点后9位) 输入 输入仅一行,包括两个整数a和b(b不为0) 输出 输出也仅一行,分数 a/b 的浮点数值(双精度浮点数,保留小数点后9位) 样例输入 5 7 样例输出 0.

OCP学习笔记-007 SQL语言之三:DDL

3. DDL - Data Definition Language 数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括create、drop、alter等。 3.1 Oracle的对象 数据库的功能就是组织管理和存储各种数据库对象。数据库中的对象是我们进行数据管理的基本。本篇会回顾一下数据库对象的一些基本知识,让我们更加清晰的了解这些O