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

2024-06-19 09:38

本文主要是介绍PyQuery 通过规则获取指定数量,指定形式的的节点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PyQuery

对于PyQuery就没什么好说的了,网上大量的说明:
其是参照JQuery实现的python库,同BeautifulSoup一样 用于快速解析xml和html文件

获取你要的节点

以 爱丽丝梦游仙境 中的一段稍作修改后写个小例子的例子:

html = '''
<html><head><title>The Dormouse's story</title></head><body><p class="title"> <b>The Dormouse's story</b> </p><p class="story">Once upon a time there were three little sisters; and their names were<a class="sister" href="http://example.com/elsie" id="link0"> start </a><a class="sister" href="http://example.com/elsie" id="link1"> Elsie </a>,<a class="sister" href="http://example.com/lacie" id="link2"> Lacie </a> and<a class="sister" href="http://example.com/tillie" id="link3"> Tillie </a>;<a class="sister" href="http://example.com/tillie" id="link4"> and they lived at the bottom of a well </a><a class="sister" href="http://example.com/elsie" id="link5"> end </a></p><p class="story">...</p></body>
</html>
'''
doc = pq(html, parser='html')
print('第一个a节点:', doc('a:first-child'))
print('最后一个a节点:', doc('a:last_child'))
print('第二个a节点:', doc('a:nth-child(2)'))
print('第三个后的所有a节点:', doc('a:gt(2)'))
print('前三个a节点:', doc('a:lt(3)'))
print('包含指定文本文本的节点:', doc('a:contains(Elsie)'))  # 文本Elsie
print('索引第一个节点:', doc('a:eq(0)'))
print('偶数的所有a节点:', doc('a:nth-child(2n)'))  
print('奇数节点:', doc('a:even'))
print('偶数节点:', doc('a:odd'))

注意:索引是从0开始的

获取CSDN下某博主所有的博文信息

先看csdn主页信息如下:
在这里插入图片描述
获取需要信息的关键节点参数,直接提取,代码如下:
注意获取博文名要跳过span节点,利用lt获取指定数量

from pyquery import PyQuery as pqdef get_info_from_url(url,  limit):`在这里插入代码片`try:print("-"*100)doc = pq(url)if limit:item_box = doc(".article-list .article-item-box" + (f":lt({limit})" if limit > 0 else ""))yield from [{"url": info.attr.href, "name": info.text()} for info in item_box("a").items()if info.find("span").remove()]except Exception as e:print("RequestException:", e)url_input = input("输入网址:").strip()  # CSDN,博主主页链接https://blog.csdn.net/xxx
try:num = int(input("输入要获取的数量:"))	 # 输入负数表示获取全部
except:num = -1
for i in  get_info_from_url(url_input, num):print(i)

根据以上代码,获取指定博主的博文的url和博文名称
需要手动输入博主主页链接如:https://blog.csdn.net/u011888840
输入获取博文的数量:需要输入数字,负数会显示所有
其规则是以字符串形式指定,可以通过f字符串或format制定自己想要的规则筛选,非常方便

列出一段获取https://blog.csdn.net/u011888840前五个博文信息的打印信息:
输入https://blog.csdn.net/u011888840和5得到

这篇关于PyQuery 通过规则获取指定数量,指定形式的的节点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

java -jar example.jar 产生的日志输出到指定文件的方法

《java-jarexample.jar产生的日志输出到指定文件的方法》这篇文章给大家介绍java-jarexample.jar产生的日志输出到指定文件的方法,本文给大家介绍的非常详细,对大家的... 目录怎么让 Java -jar example.jar 产生的日志输出到指定文件一、方法1:使用重定向1、

基于Python实现数字限制在指定范围内的五种方式

《基于Python实现数字限制在指定范围内的五种方式》在编程中,数字范围限制是常见需求,无论是游戏开发中的角色属性值、金融计算中的利率调整,还是传感器数据处理中的异常值过滤,都需要将数字控制在合理范围... 目录引言一、基础条件判断法二、数学运算巧解法三、装饰器模式法四、自定义类封装法五、NumPy数组处理

Python获取浏览器Cookies的四种方式小结

《Python获取浏览器Cookies的四种方式小结》在进行Web应用程序测试和开发时,获取浏览器Cookies是一项重要任务,本文我们介绍四种用Python获取浏览器Cookies的方式,具有一定的... 目录什么是 Cookie?1.使用Selenium库获取浏览器Cookies2.使用浏览器开发者工具

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

go动态限制并发数量的实现示例

《go动态限制并发数量的实现示例》本文主要介绍了Go并发控制方法,通过带缓冲通道和第三方库实现并发数量限制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录带有缓冲大小的通道使用第三方库其他控制并发的方法因为go从语言层面支持并发,所以面试百分百会问到

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断