Python分析网页神器pyquery

2024-03-11 04:18

本文主要是介绍Python分析网页神器pyquery,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于pyquery

相信做web的没有不知道jQuery的。它是那么的方便,功能强大。 它的一大特点就是它的选择器。
pyquery是一个模仿jquery的python编写的分析网页的类库。它的接口完全模仿了jquery。

pyquery的文档

pyquery文档

测试

import urllib
from pyquery import PyQuery as pq
import codecs# fetch page
print 'fetch page...'
url = 'http://www.7dsw.com/toplastupdate/1.html'
resp = urllib.urlopen(url)
page = resp.read()
page = page.decode('gbk')
fetch page...
doc = pq(page)
doc
[<html>]
wanted = doc('a')
wanted
[<a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a.first>, <a.pgroup>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a>, <a.next>, <a.ngroup>, <a.last>]
d = [i.attr('href') for i in wanted.items()]
d
['#',u"javascript:window.external.addFavorite('http://www.7dsw.com','7\u5ea6\u4e66\u5c4b_\u4e66\u53cb\u6700\u503c\u5f97\u6536\u85cf\u7684\u7f51\u7edc\u5c0f\u8bf4\u9605\u8bfb\u7f51')",'http://www.7dsw.com','/newmessage.php?tosys=1','/jifen.html','http://www.7dsw.com/','/modules/article/bookcase.php','http://www.7dsw.com/sort1/1.html','http://www.7dsw.com/sort2/1.html','http://www.7dsw.com/sort3/1.html','http://www.7dsw.com/sort4/1.html','http://www.7dsw.com/sort5/1.html','http://www.7dsw.com/sort6/1.html','/quanben/','/toplastupdate/1.html','http://www.7dsw.com/book/17/17870/','http://www.7dsw.com/book/17/17870/11409157.html','http://www.7dsw.com/book/2/2827/','http://www.7dsw.com/book/2/2827/11409156.html','http://www.7dsw.com/book/18/18732/','http://www.7dsw.com/book/18/18732/11409155.html','http://www.7dsw.com/book/33/33268/','http://www.7dsw.com/book/33/33268/11409154.html','http://www.7dsw.com/book/27/27876/','http://www.7dsw.com/book/27/27876/11409150.html','http://www.7dsw.com/book/4/4876/','http://www.7dsw.com/book/4/4876/11409145.html','http://www.7dsw.com/book/33/33261/','http://www.7dsw.com/book/33/33261/11409144.html','http://www.7dsw.com/book/29/29849/','http://www.7dsw.com/book/29/29849/11409133.html','http://www.7dsw.com/book/32/32541/','http://www.7dsw.com/book/32/32541/11409132.html','http://www.7dsw.com/book/30/30083/','http://www.7dsw.com/book/30/30083/11409130.html','http://www.7dsw.com/book/15/15156/','http://www.7dsw.com/book/15/15156/11409124.html','http://www.7dsw.com/book/33/33518/','http://www.7dsw.com/book/33/33518/11409123.html','http://www.7dsw.com/book/31/31904/','http://www.7dsw.com/book/31/31904/11409115.html','http://www.7dsw.com/book/6/6807/','http://www.7dsw.com/book/6/6807/11409112.html','http://www.7dsw.com/book/30/30605/','http://www.7dsw.com/book/30/30605/11409109.html','http://www.7dsw.com/book/33/33169/','http://www.7dsw.com/book/33/33169/11409107.html','http://www.7dsw.com/book/6/6415/','http://www.7dsw.com/book/6/6415/11409101.html','http://www.7dsw.com/book/30/30440/','http://www.7dsw.com/book/30/30440/11409099.html','http://www.7dsw.com/book/28/28703/','http://www.7dsw.com/book/28/28703/11409096.html','http://www.7dsw.com/book/28/28849/','http://www.7dsw.com/book/28/28849/11409095.html','http://www.7dsw.com/book/29/29668/','http://www.7dsw.com/book/29/29668/11409093.html','http://www.7dsw.com/book/33/33460/','http://www.7dsw.com/book/33/33460/11409091.html','http://www.7dsw.com/book/33/33683/','http://www.7dsw.com/book/33/33683/11409090.html','http://www.7dsw.com/book/28/28865/','http://www.7dsw.com/book/28/28865/11409086.html','http://www.7dsw.com/book/22/22913/','http://www.7dsw.com/book/22/22913/11409085.html','http://www.7dsw.com/book/32/32568/','http://www.7dsw.com/book/32/32568/11409084.html','http://www.7dsw.com/book/26/26175/','http://www.7dsw.com/book/26/26175/11409082.html','http://www.7dsw.com/book/12/12455/','http://www.7dsw.com/book/12/12455/11409081.html','http://www.7dsw.com/book/28/28760/','http://www.7dsw.com/book/28/28760/11409079.html','http://www.7dsw.com/book/29/29305/','http://www.7dsw.com/book/29/29305/11409078.html','http://www.7dsw.com/toplastupdate/1.html','http://www.7dsw.com/toplastupdate/1.html','http://www.7dsw.com/toplastupdate/2.html','http://www.7dsw.com/toplastupdate/3.html','http://www.7dsw.com/toplastupdate/4.html','http://www.7dsw.com/toplastupdate/5.html','http://www.7dsw.com/toplastupdate/6.html','http://www.7dsw.com/toplastupdate/7.html','http://www.7dsw.com/toplastupdate/8.html','http://www.7dsw.com/toplastupdate/9.html','http://www.7dsw.com/toplastupdate/10.html','http://www.7dsw.com/toplastupdate/2.html','http://www.7dsw.com/toplastupdate/16.html','http://www.7dsw.com/toplastupdate/1056.html']

jQuery的文档

可以参考query的文档来明白pyquery的使用方式

jQuery 遍历函数
jQuery 遍历函数包括了用于筛选、查找和串联元素的方法。
函数 描述
.add() 将元素添加到匹配元素的集合中。
.andSelf() 把堆栈中之前的元素集添加到当前集合中。
.children() 获得匹配元素集合中每个元素的所有子元素。
.closest() 从元素本身开始,逐级向上级元素匹配,并返回最先匹配的祖先元素。
.contents() 获得匹配元素集合中每个元素的子元素,包括文本和注释节点。
.each() 对 jQuery 对象进行迭代,为每个匹配元素执行函数。
.end() 结束当前链中最近的一次筛选操作,并将匹配元素集合返回到前一次的状态。
.eq() 将匹配元素集合缩减为位于指定索引的新元素。
.filter() 将匹配元素集合缩减为匹配选择器或匹配函数返回值的新元素。
.find() 获得当前匹配元素集合中每个元素的后代,由选择器进行筛选。
.first() 将匹配元素集合缩减为集合中的第一个元素。
.has() 将匹配元素集合缩减为包含特定元素的后代的集合。
.is() 根据选择器检查当前匹配元素集合,如果存在至少一个匹配元素,则返回 true。
.last() 将匹配元素集合缩减为集合中的最后一个元素。
.map() 把当前匹配集合中的每个元素传递给函数,产生包含返回值的新 jQuery 对象。
.next() 获得匹配元素集合中每个元素紧邻的同辈元素。
.nextAll() 获得匹配元素集合中每个元素之后的所有同辈元素,由选择器进行筛选(可选)。
.nextUntil() 获得每个元素之后所有的同辈元素,直到遇到匹配选择器的元素为止。
.not() 从匹配元素集合中删除元素。
.offsetParent() 获得用于定位的第一个父元素。
.parent() 获得当前匹配元素集合中每个元素的父元素,由选择器筛选(可选)。
.parents() 获得当前匹配元素集合中每个元素的祖先元素,由选择器筛选(可选)。
.parentsUntil() 获得当前匹配元素集合中每个元素的祖先元素,直到遇到匹配选择器的元素为止。
.prev() 获得匹配元素集合中每个元素紧邻的前一个同辈元素,由选择器筛选(可选)。
.prevAll() 获得匹配元素集合中每个元素之前的所有同辈元素,由选择器进行筛选(可选)。
.prevUntil() 获得每个元素之前所有的同辈元素,直到遇到匹配选择器的元素为止。
.siblings() 获得匹配元素集合中所有元素的同辈元素,由选择器筛选(可选)。
.slice() 将匹配元素集合缩减为指定范围的子集。

这篇关于Python分析网页神器pyquery的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

nudepy,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - nudepy。 Github地址:https://github.com/hhatto/nude.py 在图像处理和计算机视觉应用中,检测图像中的不适当内容(例如裸露图像)是一个重要的任务。nudepy 是一个基于 Python 的库,专门用于检测图像中的不适当内容。该

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip