1 python解析库的使用--PyQuery-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python解析库的使用--PyQuery

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-03-22 16:07 次阅读

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()) 




审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 节点
    +关注

    关注

    0

    文章

    218

    浏览量

    24419
  • 编码
    +关注

    关注

    6

    文章

    940

    浏览量

    54812
  • python
    +关注

    关注

    56

    文章

    4792

    浏览量

    84624
收藏 人收藏

    评论

    相关推荐

    数据事件触发的设置和应用

    数据无论对于生产管理还是很多的实际应用都非常重要。小编这次聊一下数据事件触发的应用。示例使用了postgresql和Python
    的头像 发表于 12-13 15:14 99次阅读

    使用Python进行串口通信的案例

    当然!以下是一个使用Python进行串口通信的简单示例。这个示例展示了如何配置串口、发送数据以及接收数据。我们将使用 pyserial ,这是一个非常流行的用于串口通信的Python
    的头像 发表于 11-22 09:11 166次阅读

    如何使用Python构建LSTM神经网络模型

    构建一个LSTM(长短期记忆)神经网络模型是一个涉及多个步骤的过程。以下是使用Python和Keras构建LSTM模型的指南。 1. 安装必要的 首先,确保你已经安装了Python
    的头像 发表于 11-13 10:10 313次阅读

    Python解析:通过实现代理请求与数据抓取

    Python中,有多个可以帮助你实现代理请求和数据抓取。这些提供了丰富的功能和灵活的API,使得你可以轻松地发送HTTP请求、处理响应、解析HTML/XML/JSON数据,以及进
    的头像 发表于 10-24 07:54 163次阅读

    陀螺仪LSM6DSOW开发(5)----MotionFX解析空间坐标

    本文将探讨如何使用MotionFX解析空间坐标。MotionFX是一种用于传感器融合的强大工具,可以将加速度计、陀螺仪和磁力计的数据融合在一起,实现精确的姿态和位置估计。本文将介绍如何初始化
    的头像 发表于 08-15 18:13 1647次阅读
    陀螺仪LSM6DSOW开发(5)----MotionFX<b class='flag-5'>库</b><b class='flag-5'>解析</b>空间坐标

    pytorch和python的关系是什么

    在当今的人工智能领域,Python已经成为了最受欢迎的编程语言之一。Python的易学易用、丰富的和框架以及强大的社区支持,使其成为了数据科学、机器学习和深度学习等领域的首选语言。而在深度学习领域
    的头像 发表于 08-01 15:27 1876次阅读

    Python建模算法与应用

    上成为理想的脚本语言,特别适用于快速的应用程序开发。本文将详细介绍Python在建模算法中的应用,包括常见的建模算法、Python在建模中的优势、常用以及实际案例。
    的头像 发表于 07-24 10:41 524次阅读

    陀螺仪LSM6DSV16X与AI集成(8)----MotionFX解析空间坐标

    本文将探讨如何使用MotionFX解析空间坐标。MotionFX是一种用于传感器融合的强大工具,可以将加速度计、陀螺仪和磁力计的数据融合在一起,实现精确的姿态和位置估计。本文将介绍如何初始化
    的头像 发表于 07-18 10:43 1174次阅读
    陀螺仪LSM6DSV16X与AI集成(8)----MotionFX<b class='flag-5'>库</b><b class='flag-5'>解析</b>空间坐标

    opencv-python和opencv一样吗

    不一样。OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件,它提供了大量的图像和视频处理功能。OpenCV-Python
    的头像 发表于 07-16 10:38 1154次阅读

    深度学习常用的Python

    深度学习作为人工智能的一个重要分支,通过模拟人类大脑中的神经网络来解决复杂问题。Python作为一种流行的编程语言,凭借其简洁的语法和丰富的支持,成为了深度学习研究和应用的首选工具。本文将深入探讨
    的头像 发表于 07-03 16:04 623次阅读

    如何使用Python进行神经网络编程

    。 为什么使用PythonPython是一种广泛使用的高级编程语言,以其易读性和易用性而闻名。Python拥有强大的,如TensorFlow、Keras和PyTorch,这些
    的头像 发表于 07-02 09:58 398次阅读

    ESP32下如何加自定义Python

    我看官方有提供Micropython的bin文件,但我想根据自己外设扩充一下Python,这个应该从哪里入手? 之前做过RTT系统的python扩充,RTT有提供Micropyth
    发表于 06-18 06:27

    python解析netflow数据到csv的流程详解

    本文主要讲解了linux下通过tcpdump抓取netflow数据包,并将其导入到wireshark进行解析,然后通过wireshark导出数据为json文件,再通过python脚本将其解析为csv文件以便做数据分析。
    的头像 发表于 05-01 11:18 663次阅读
    <b class='flag-5'>python</b><b class='flag-5'>解析</b>netflow数据到csv的流程详解

    python 学习:在内网中 python-numpy 安装方法,升级pip3版本的指令

    指令格式如下:先下载numpy到C盘具体位置 手动安装指令如下: pip install c:\\\\users\\\\sesa738142
    发表于 04-22 17:18

    ArkTS语言基础类-解析

    多线程并发,支持Worker线程和宿主线程之间进行通信,开发者需要主动创建和关闭Worker线程。 提供常见的[容器类增、删、改、查]的能力。 提供XML、URL、URI构造和解析的能力。 XML
    发表于 02-20 16:44