返回顶部
首页 > 资讯 > 后端开发 > Python >学习PyQuery库
  • 562
分享到

学习PyQuery库

PyQuery 2023-01-31 00:01:28 562人浏览 八月长安

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

摘要

学习PyQuery库 好了,又是学习的时光啦,今天学习pyquery 来进行网页解析 常规导入模块(PyQuery库中的pyquery类) from pyquery import PyQuery as pq 通常使用url初始化 doc

学习PyQuery库

好了,又是学习的时光啦,今天学习pyquery 来进行网页解析

常规导入模块(PyQuery库中的pyquery类)
from pyquery import PyQuery as pq

通常使用url初始化
doc = pq(url='Http://www.baidu.com')

文件初始化
doc = pq(filename='demo.html')

基本CSS选择器的使用,以起点中文网的为例子
doc = pq(url='https://www.qidian.com/free/all')

下面来获取小说名字信息
1.打开浏览器,进入要分析的网页
2.F12开发人员调试工具
enter description here
3.进行元素检查
4.定位到爬取节点指定位置
5.分析一下 我们自己写 CSS选择器方法

id 使用的是# class 使用的是英文句号 空格代表 层级关系
enter description here

此时我们先使用语句来获取页面中的所有<h4>的元素
doc = pq(url='https://www.qidian.com/free/all')
a = doc('h4').items()
for i in a:
print(i)

迭代出所筛选出来的结果
enter description here

但也会遇到上面的情况,共同是h4元素的,但筛选到我们不想要的数据。

这时我们可以采用往上级找,直到找到有区别的元素。
enter description here

doc = pq(url='https://www.qidian.com/free/all')
a = doc('.book-mid-info h4').items()
for i in a:
    print(i)

得到了期待的数据!!!(要还是有那前两个,说明还定位不够准确,再往上一层走)
enter description here

我们如果要获取简介内容,我们可以下图方式代码 获取子节点(记得find方法是子孙节点)
enter description here

但上图也没抓取我们特别想要的信息呀,这时发现 我们所指定的解析底下有很多li标签 里标签底下又有很多内容,所以此时还得继续往下解析。
enter description here

首先我们用children方法查找子节点,然后使用items方法来得到一个生成器,将数据遍历打印或者添加到列表中,方便数据存储和最终结果打印。

此时我们来获取一下小说的图片链接试试 利用attrs方法 来返回属性字典 进一步获取value值。
enter description here

怎么来抓取解析节点 理清层级关系 利用好 F12来分析就好啦!!!

总结一下:
id 使用的是# class 使用的是英文句号 空格代表 层级关系
find()方法是遍历子孙节点
chlidren()方法是获取节点的子节点(看上面实例也支持往下继续选择节点)
parent()方法是获取节点的父节点
parents()方法是获取节点的所有父节点(下面实例从所有祖先节点中挑选出符合条件的节点)

parent = items.parents('.wrap')
print(parent)

siblings()方法是获取兄弟节点(下面实例从所有兄弟节点中挑选出符合条件的节点)

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

items()方法是用于遍历每一个节点结果
attr()方法是返回属性字典 进一步获取value值
text()方法是获取节点内部文本(Tips:当内容中前后出现\n 空格 可配合strip()来删除)

也可以百度学习下伪类选择器来获取节点数据,而且右键就能copy出表达式!!!
enter description here

--结束END--

本文标题: 学习PyQuery库

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

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

猜你喜欢
  • 学习PyQuery库
    学习PyQuery库 好了,又是学习的时光啦,今天学习pyquery 来进行网页解析 常规导入模块(PyQuery库中的pyquery类) from pyquery import PyQuery as pq 通常使用url初始化 doc ...
    99+
    2023-01-31
    PyQuery
  • 数据库学习
    1. 基本的经典查询 #基本的查询语句 SELECT * FROM data.`dataanalyst` WHERE city =‘上海‘ AND (education = ‘本科‘ OR workYear = ‘1-3年...
    99+
    2019-09-01
    数据库学习 数据库入门 数据库基础教程 数据库 mysql
  • python_库学习_01
    一。python的库学习之 财经数据接口包 1.安装ThShare 直接pip install tushare 可能会出现缺少依赖库的情况,依次安装,大概有lxml,pandas,bs4,requests,pandas依次安装后查看tus...
    99+
    2023-01-30
  • 数据库学习 Postgresq;
    psql testdb,系统登录用户,本地数据库,连接testdb数据库psql -U testuser testdb,用户testuser,连接本地数据库testdb;psql -U testuser -...
    99+
    2024-04-02
  • MySQL数据库学习
    目录 从管理员cmd页面打开数据库 创建一个用户 数据库的基本操作 数据完整性 完整性约束管理 表的基本操作 判断关键字 聚合函数 多表连接查询 嵌套查询 联合查询 事务 锁 索引 视图 存储过程 函数(与存储过程类似) 光标 触发器   ...
    99+
    2023-10-19
    数据库 mysql 学习 java
  • python之_requests库学习_
    一、超时 可以告诉 requests 在经过以 timeout 参数设定的秒数时间之后停止等待响应。 连接超时指的是在你的客户端实现到远端机器端口的连接时Request 会等待的秒数。一个很好的实践方法是把连接超时设为比 3 的倍数略大的...
    99+
    2023-01-30
    python _requests
  • Numpy库的学习(二)
      今天来继续学习一下Numpy库的使用 接着昨天的内容继续 在Numpy中,我们如果想要进行一个判断使用“==” 我们来看下面的代码 vector = np.array([5,10,15,20,25]) vector == 10 我...
    99+
    2023-01-31
    Numpy
  • Numpy库的学习(四)
    我们今天继续学习一下Numpy库 接着前面几次讲的,Numpy中还有一些标准运算 a = np.arange(3) print(a) print(np.exp(a)) print(np.sqrt(a)) exp表示求e的幂次方,比如...
    99+
    2023-01-31
    Numpy
  • Numpy库的学习(三)
    今天我们继续学习一下Numpy库的学习 废话不多说 ,开始讲 比如我们现在想创建一个0-14这样一个15位的数组 可以直接写,但是很麻烦,Numpy中就给我们了一个方便创建的方法 numpy中有一个arange函数 import num...
    99+
    2023-01-31
    Numpy
  • python之cmd库学习
    一:cmd介绍    引用python的官方文档    The cmd class provides a simple framework for writing line-oriented command interpreters.  T...
    99+
    2023-01-31
    python cmd
  • 学习 Python 之 Pandas库
    学习 Python 之 Pandas库 Pandas库什么是Pandas库DataFrame 创建和存储1. 使用DataFrame构造函数(1). 使用列表创建(2). 使用字典创建(3)....
    99+
    2023-10-27
    python
  • 如何学习数据库
    学习数据库的方法从Access数据库入手,了解数据库的基础概念。自己动手建库。学习sql语句的运用。做一些实例进行深度学习。接着学习SQLserver掌握关系型数据库的基本操作。学习大型数据库的知识。最后需要再掌握Oracle、DB2等大型...
    99+
    2024-04-02
  • 数据库怎么学习
    学习数据库的方法学习Access数据库,了解数据库的基础概念。学习如何建数据库。学习sql语句的运用。做一些实例进行深度学习。学习SQLserver,掌握关系型数据库的基本操作。学习Oracle、DB2等大型数据库的知识。...
    99+
    2024-04-02
  • [Python学习笔记] turtle库
    turtle库常用函数 引入turtle模块 import turtle turtle的绘图窗体 #setup()设置窗口大小及位置#setup()可省略turtle.setup(width,height,startx,st...
    99+
    2023-01-31
    学习笔记 Python turtle
  • Python Pandas库的学习(二)
    今天我们继续讲下Python中一款数据分析很好的库。Pandas的学习 接着上回讲到的,如果有人听不懂,麻烦去翻阅一下我前面讲到的Pandas学习(一) 如果我们在数据中,想去3,4,5这几行数据,那么我们怎么取呢? food.loc[...
    99+
    2023-01-31
    Python Pandas
  • python re库-----学习(正则
    #!/usr/bin/env python #-*- coding:UTF-8 -*- ##################################################### # Author: sunfx   xing...
    99+
    2023-01-31
    正则 python
  • 数据库中间件DBLE学习(二) 学习配置schema.xml
    前言 一边有一个经常引诱我让我“娱乐至死”的视频,还有一个不停“鞭策“我让我快点学习的大BOSS。正是有这两种极端的爱才让我常常在自信中明白自己努力的方向。嗯,"人间不值得"! SCHEMA.XML介绍 上一篇写了:数据库中间件D...
    99+
    2015-12-08
    数据库中间件DBLE学习(二) 学习配置schema.xml
  • python常用机器学习及深度学习库有哪些
    本篇内容介绍了“python常用机器学习及深度学习库有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言目前,随着人工智能的大热,吸引了...
    99+
    2023-06-30
  • 数据库postgres index vaccum学习
    VoicePortal=# create table testindex (no serial primary key, value integer);NOTICE: CREATE TABLE will ...
    99+
    2024-04-02
  • Python标准库学习之urllib
    本系列以python3.4为基础urllib是Python3的标准网络请求库。包含了网络数据请求,处理cookie,改变请求头和用户代理,重定向,认证等的函数。urllib与urllib2:python2.x用urllib2,而pytho...
    99+
    2023-01-31
    标准 Python urllib
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作