iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python网络爬虫精解之pyquery的使用说明
  • 459
分享到

python网络爬虫精解之pyquery的使用说明

2024-04-02 19:04:59 459人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录一、pyquery的介绍二、pyquery的使用1、初始化工作字符串URL文件初始化2、查找节点(1)查找子节点(2)匹配父节点(3)匹配兄弟节点3、遍历4、获取信息(1)获取属

pyquery的使用

一、pyquery的介绍

使用pyquery需要在WEB和了解Jquery的基础上,使用该CSS选择器。

二、pyquery的使用

1、初始化工作

使用pyquery初始化的方式有很多,传入的参数可以是字符串,也可以是URL和文件名,下面将一一介绍初始化方法。

字符串


html = '''
<html>

<head>
  <meta charset="utf-8">
  <title>test02.html</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>

<body>
  <div id="container">
    <iframe id="iframe" sandbox="allow-scripts" src="/files/%E7%88%AC%E8%99%AB%E5%86%99%E4%BD%9C%E4%BB%A3%E7%A0%81%E6%B5%8B%E8%AF%95/test02.html"></iframe>
  </div>
</body>

</html>
'''
from pyquery import PyQuery as pq
doc = pq(html)
print(doc('title'))

【运行结果】

<title>test02.html</title>

URL

URL以CSDN首页地址为例:


from pyquery import PyQuery as pq
doc = pq(url = 'https://www.csdn.net/')
print(doc('title'))

【运行结果】

<title>CSDN - 专业开发者社区</title>

文件初始化

我们将以下字符串保存为一个HTML文件,通过文件的形式进行初始化。

【test02.html】


<bookstore>
  <book>
    <title lang="eng">Harry Potter</title>
    <price>29.99</price>
  </book>

  <book>
    <title lang="eng">Learning XML</title>
    <price>39.95</price>
  </book>
</bookstore>

from pyquery import PyQuery as pq
doc = pq(filename = 'test02.html')
print(doc('title'))

【运行结果】

<title lang="eng">Harry Potter</title>
<title lang="eng">Learning XML</title>

2、查找节点

(1)查找子节点

查找子节点时需要用到find()方法,此时传入的参数是CSS选择器。


from pyquery import PyQuery as pq
doc = pq(filename = 'test02.html')
item = doc('book')
print(item)
lis1 = item.find('title')
lis2 = item.find('price')
print(lis1)
print(lis2)

【运行结果】

<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>

<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>

<title lang="eng">Harry Potter</title>
<title lang="eng">Learning XML</title>

<price>29.99</price>
<price>39.95</price>
可以看到,我们首先匹配的是book节点,然后匹配book节点下的子节点title和price。

其实使用find方法匹配的是所有的子孙节点,如果只是单纯匹配子节点可以使用children方法。

(2)匹配父节点

使用parent()方法,如果是要匹配祖先节点,则需要使用parents()方法。

(3)匹配兄弟节点

可以使用siblings()方法。

3、遍历

对于获取到的内容如果是单个节点,则可以直接转换为字符串类型,而对于获取到多个节点,因其类型为PyQuery类型,需要对获取到的数据进行遍历,这是需要调用items()方法。


from pyquery import PyQuery as pq
doc = pq(filename = 'test02.html')
items = doc('title').items()
print(items)
print(type(items))
for i in items:
    print(type(i))
    print(i)
    

【运行结果】

<generator object PyQuery.items at 0x000002B79E13EF48>
<class 'generator'>
<class 'pyquery.pyquery.PyQuery'>
<title lang="eng">Harry Potter</title>

<class 'pyquery.pyquery.PyQuery'>
<title lang="eng">Learning XML</title>

4、获取信息

(1)获取属性

使用attr()方法


from pyquery import PyQuery as pq
doc = pq(filename = 'test02.html')
items = doc('title')
for i in items.items():
    print(i.attr('lang'))   

【运行结果】

eng
eng

遍历获取到的数据,就能获得所有title节点的land属性值。

(2)获取文本

使用text()方法


from pyquery import PyQuery as pq
doc = pq(filename = 'test02.html')
items = doc('title')
for i in items.items():
    print(i.text())  

【运行结果】

Harry Potter
Learning XML

同样是遍历,获取到每一个title节点的文本值。

5、节点操作

(1)为某个节点添加或删除一个class

调用的方法为addClass和removeClass


from pyquery import PyQuery as pq
doc = pq(filename = 'test02.html')
items = doc('title')
for i in items.items():
    print(i)
    i.addClass('book01')
    print(i)
    i.removeClass('book01')
    print(i)

【运行结果】

<title lang="eng">Harry Potter</title>

<title lang="eng" class="book01">Harry Potter</title>

<title lang="eng" class="">Harry Potter</title>

<title lang="eng">Learning XML</title>

<title lang="eng" class="book01">Learning XML</title>

<title lang="eng" class="">Learning XML</title>

可以看到,首先是打印最初始的title节点,加上class属性后再次打印,去掉class属性后再次打印。

(2)attr、text、html

attr:用来改变属性值;

text:用来改变文本值;

html:用来改变节点值;

(3)remove

移除不需要的节点值,将整个节点移除。

6、伪类选择器

支持多种伪类选择器,例如选择第一个节点、最后一个节点、奇数节点、偶数节点、以及包含指定文本的节点等。

到此这篇关于python网络爬虫精解之pyquery的使用说明的文章就介绍到这了,更多相关Python pyquery 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python网络爬虫精解之pyquery的使用说明

本文链接: https://www.lsjlt.com/news/136797.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python网络爬虫精解之pyquery的使用说明
    目录一、pyquery的介绍二、pyquery的使用1、初始化工作字符串URL文件初始化2、查找节点(1)查找子节点(2)匹配父节点(3)匹配兄弟节点3、遍历4、获取信息(1)获取属...
    99+
    2024-04-02
  • python网络爬虫精解之XPath的使用说明
    目录一、XPath的介绍二、XPath使用1、选取所有节点2、获取子节点3、获取父节点4、属性匹配5、文本获取6、属性获取7、属性多值匹配8、多属性匹配9、按序选择10、节点轴选择X...
    99+
    2024-04-02
  • python网络爬虫精解之Beautiful Soup的使用说明
    目录一、Beautiful Soup的介绍二、Beautiful Soup的使用1、节点选择器2、提取信息3、关联选择4、方法选择器5、CSS选择器一、Beautiful Soup的...
    99+
    2024-04-02
  • python网络爬虫精解之正则表达式的使用说明
    目录一、常见的匹配规则二、常见的匹配方法1、match()2、search()3、findall()4、sub()5、compile()一、常见的匹配规则 二、常见的匹配方法 1、...
    99+
    2024-04-02
  • Python爬虫之爬取最新更新的小说网站
    目录一、引言二、关于相关访问请求及应答报文2.1、百度搜索请求2.2、百度返回搜索结果2.3、小说网站关于最新更新的展现及html报文格式三、实现思路及代码3.1、根据url获取网站...
    99+
    2024-04-02
  • python爬虫之三:解析网络报文xml
    本节主要是讲解在项目中怎么解析获取的xml报文并获取相关字段。 xml解析第三方库学习地址:http://www.runoob.com/python/python-xml.html xml文件如下: <xml versio...
    99+
    2023-01-31
    报文 爬虫 之三
  • 如何使用Python网络爬虫实现起点小说下载
    如何使用Python网络爬虫实现起点小说下载,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。今天要跟大家分享一个小说爬取案例--------起点小说的小说下载。在做这个案例之...
    99+
    2023-06-15
  • Python网络爬虫requests库如何使用
    这篇文章主要讲解了“Python网络爬虫requests库如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python网络爬虫requests库如何使用”吧!1. 什么是网络爬虫简单来...
    99+
    2023-07-06
  • Python网络爬虫requests库怎么使用
    1. 什么是网络爬虫简单来说,就是构建一个程序,以自动化的方式从网络上下载、解析和组织数据。就像我们浏览网页的时候,对于我们感兴趣的内容我们会复制粘贴到自己的笔记本中,方便下次阅读浏览&mdash;&mdash;网络爬虫帮我...
    99+
    2023-05-15
    Python Requests
  • python爬虫之requests库的使用详解
    目录python爬虫—requests库的用法基本的get请求带参数的GET请求:解析json使用代理获取cookie会话维持证书验证设置超时异常捕获异常处理 总结 python爬虫...
    99+
    2024-04-02
  • 使用python编写简单网络爬虫(一)
          总算有时间动手用所学的python知识编写一个简单的网络爬虫了,这个例子主要实现用python爬虫从百度图库中下载美女的图片,并保存在本地,闲话少说,直接贴出相应的代码如下:---------------------------...
    99+
    2023-01-31
    爬虫 简单 网络
  • 【100天精通python】Day43:python网络爬虫开发_爬虫基础(urlib库、Beautiful Soup库、使用代理+实战代码)
    目录 1 urlib 库 2 Beautiful Soup库 3 使用代理 3.1 代理种类 HTTP、HTTPS 和 SOCKS5 3.2 使用 urllib 和 requests 库使用代理 3.3 案例:自建代理池 4 实战 提取视频...
    99+
    2023-08-31
    python 爬虫 http
  • Python爬虫之线程池的使用
    目录一、前言二、同步代码演示三、异步,线程池代码四、同步爬虫爬取图片五、使用线程池的异步爬虫爬取4K美女图片一、前言 学到现在,我们可以说已经学习了爬虫的基础知识,如果没有那些奇奇怪...
    99+
    2024-04-02
  • 详解如何使用Python网络爬虫获取招聘信息
    目录前言项目目标项目准备反爬措施项目实现效果展示小结前言 现在在疫情阶段,想找一份不错的工作变得更为困难,很多人会选择去网上看招聘信息。可是招聘信息有一些是错综复杂的。而且不能把全部...
    99+
    2024-04-02
  • 详解如何用Python写个听小说的爬虫
    目录书名和章节列表音频地址下载完整代码总结在路上发现好多人都喜欢用耳机听小说,同事居然可以一整天的带着一只耳机听小说。小编表示非常的震惊。今天就用 Python 下载听小说 ...
    99+
    2024-04-02
  • 怎么在python中使用selenium实现一个网络爬虫
    本篇文章为大家展示了怎么在python中使用selenium实现一个网络爬虫,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科...
    99+
    2023-06-08
  • Python爬虫学习之requests的使用教程
    目录requests库简介requests库安装1、pip命令安装2、下载代码进行安装requests库的使用发送请求get请求抓取二进制数据post请求POST请求的文件上传利用r...
    99+
    2024-04-02
  • Python爬虫之BeautifulSoup的基本使用教程
    目录bs4的安装bs4的快速入门解析器的比较(了解即可)对象种类bs4的简单使用获取标签内容获取标签名字获取a标签的href属性值遍历文档树案例练习思路代码实现总结bs4的安装 要使...
    99+
    2024-04-02
  • Python爬虫之使用BeautifulSoup和Requests抓取网页数据
    目录一、简介二、网络爬虫的基本概念三、Beautiful Soup 和 Requests 库简介四、选择一个目标网站五、使用 Requests 获取网页内容六、使用 Beautifu...
    99+
    2023-05-14
    Python爬虫 使用BeautifulSoup和Requests Python爬虫抓取网页数据
  • Python爬虫之线程池的使用方法
    这篇文章主要介绍了Python爬虫之线程池的使用方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、前言学到现在,我们可以说已经学习了爬虫的基础知识,如果没有那些奇奇怪怪的...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作