PyQuery介绍与安装
PyQuery库也是一个非常强大又灵活的网页解析库,如果你有前端开发经验的,都应该接触过jQuery,那么PyQuery就是你非常绝佳的选择。
PyQuery 是 Python 仿照 jQuery 的严格实现。
语法与 jQuery 几乎完全相同,所以不用再去费心去记一些奇怪的方法了。
官网地址:https://pyquery.readthedocs.io/en/latest/
- PyQuery的安装
pip install pyquery
- URL初始化:
# 推荐使用requests爬取信息
from pyquery import PyQuery as pq
import requests
res = requests.get("http://www.baidu.com")
res.encoding = "utf-8" # 因为原编码为ISO-8859-1
#print(res.text)
doc = pq(res.text)
print(doc("title"))
PyQuery的使用
首先创建一个html文件:my.html 用于测试pyquery的解析效果
我的常用链接
使用pyquery解析my.html
# 读取my.html的文件内容,并使用pyquery来查找节点
from pyquery import PyQuery as pq
doc = pq(filename='my.html',encoding="utf-8")
print(doc('title')) #通过html标签名获取元素节点
print(doc('#hid')) #获取id属性值为hid的元素节点
print(doc('.bb')) #获取class属性值为bb的元素节点
print(doc('title,h3')) #选择符组的使用
print(doc("ul li.shop a")) #关联选择符的使用
print(doc("a")) #获取所有a
print(doc("a:first")) #获取第一个a
print(doc("a:last")) #获取最后一个a
print(doc("a:lt(2)")) #获取前连个a
print(doc("a:eq(2)")) #获取索引位置2的a(第三个)
print(doc('a[href="http://www.sina.com"]')) #获取指定属性值的节点
print("="*60)
# 节点的二次筛选:
lilist = doc("ul li") #获取ul中所有的li
print(type(lilist)) #
print(lilist.find("a.bb")) #在结果的基础上再次查找
print(lilist.children("a.bb")) #在结果的基础上再次查找
print(doc("a.bb").parent()) #获取指定元素的直接父节点
#print(doc("a.bb").parents()) #获取指定元素的所有父节点
print(doc("a.bb").parent().siblings()) #获取兄弟节点
print("="*60)
# 遍历:
alist = doc("a")
for a in alist.items():
print(a.attr.href)
#print(a.attr('href')) #同上
print(a.text()) #获取内容
print(a.html())
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
节点
+关注
关注
0文章
226浏览量
25408 -
编码
+关注
关注
6文章
1015浏览量
56646 -
python
+关注
关注
57文章
4856浏览量
89559
发布评论请先 登录
相关推荐
热点推荐
淘宝商品详情API接口技术解析与实战应用
出发,系统解析淘宝商品详情API接口的调用机制、数据结构及典型应用场景,并附上基于Python的完整调用示例,助力开发者高效集成商品数据服务。 关键词 淘宝开放平台;商品详情API;RESTful接口;数据解析;
Python调用API教程
两个不同系统之间的信息交互。在这篇文章中,我们将详细介绍Python调用API的方法和技巧。 一、用Requests库发送HTTP请求 使用Python调用API的第一步是发送HTTP请求,通常
termux如何搭建python游戏
termux如何搭建python游戏
Termux搭建Python游戏开发环境的完整指南
一、Termux基础环境准备
Termux是一款无需root即可在安卓设备上运行的Linux终端
发表于 08-29 07:06
数据库数据恢复—服务器异常断电导致Oracle数据库故障的数据恢复案例
备份,仅有一些断断续续的归档日志。
Oracle数据库恢复流程:
1、检测数据库故障情况;
2、尝试挂起并修复数据库;
3、解析数据库
linux虚拟环境中调用Linux 版matlab编译的python库时出错
matlab代码编译为CAO_python的python库,其中cp_Main_python.m为入口文件,编译后生成的文件有mccExcludedFiles.log、setup.py
发表于 07-18 10:40
python入门圣经-高清电子书(建议下载)
和Pygal 等强大的Python 库和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容;
第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D 游戏开发如何利用数据
发表于 04-10 16:53
如何在虚拟环境中使用 Python,提升你的开发体验~
。RaspberryPiOS预装了Python3。干扰系统Python的安装可能会给你的操作系统带来问题。安装第三方Python库时,请务必使用正确的包管理工具。在Lin
Python在嵌入式系统中的应用场景
你想把你的职业生涯提升到一个新的水平?Python在嵌入式系统中正在成为一股不可缺少的新力量。尽管传统上嵌入式开发更多地依赖于C和C++语言,Python的优势在于其简洁的语法、丰富的库和快速的开发周期,这使得它在某些嵌入式场景
Python Connector for InterBase连接解决方案
适用于 InterBase 的 Python 连接器 Python Connector for InterBase 是一种可靠的连接解决方案,用于从 Python 应用程序访问 InterBase
使用Python实现xgboost教程
装: bash复制代码conda install -c conda-forge xgboost 2. 导入必要的库 在你的Python脚本或Jupyter Notebook中,导入必要的库:
适用于MySQL和MariaDB的Python连接器:可靠的MySQL数据连接器和数据库
和 MariaDB 数据库服务器以及托管数据库服务,以对存储的数据执行创建、读取、更新和删除操作。该解决方案完全实现了 Python DB API 2.0 规范,并作为 Windows、macOS
适用于Oracle的Python连接器:可访问托管以及非托管的数据库
适用于 Oracle 的 Python 连接器 适用于 Oracle 的 Python 连接器是一种可靠的连接解决方案,用于从 Python 应用程序访问 Oracle 数据库服务器和
数据库事件触发的设置和应用
数据库无论对于生产管理还是很多的实际应用都非常重要。小编这次聊一下数据库事件触发的应用。示例使用了postgresql和Python。

python解析库的使用--PyQuery
评论