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

相关文章

Python使用FFmpeg实现高效音频格式转换工具

《Python使用FFmpeg实现高效音频格式转换工具》在数字音频处理领域,音频格式转换是一项基础但至关重要的功能,本文主要为大家介绍了Python如何使用FFmpeg实现强大功能的图形化音频转换工具... 目录概述功能详解软件效果展示主界面布局转换过程截图完成提示开发步骤详解1. 环境准备2. 项目功能结

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

使用Python实现Windows系统垃圾清理

《使用Python实现Windows系统垃圾清理》Windows自带的磁盘清理工具功能有限,无法深度清理各类垃圾文件,所以本文为大家介绍了如何使用Python+PyQt5开发一个Windows系统垃圾... 目录一、开发背景与工具概述1.1 为什么需要专业清理工具1.2 工具设计理念二、工具核心功能解析2.

Python实现一键PDF转Word(附完整代码及详细步骤)

《Python实现一键PDF转Word(附完整代码及详细步骤)》pdf2docx是一个基于Python的第三方库,专门用于将PDF文件转换为可编辑的Word文档,下面我们就来看看如何通过pdf2doc... 目录引言:为什么需要PDF转Word一、pdf2docx介绍1. pdf2docx 是什么2. by

Python函数返回多个值的多种方法小结

《Python函数返回多个值的多种方法小结》在Python中,函数通常用于封装一段代码,使其可以重复调用,有时,我们希望一个函数能够返回多个值,Python提供了几种不同的方法来实现这一点,需要的朋友... 目录一、使用元组(Tuple):二、使用列表(list)三、使用字典(Dictionary)四、 使

Python程序的文件头部声明小结

《Python程序的文件头部声明小结》在Python文件的顶部声明编码通常是必须的,尤其是在处理非ASCII字符时,下面就来介绍一下两种头部文件声明,具有一定的参考价值,感兴趣的可以了解一下... 目录一、# coding=utf-8二、#!/usr/bin/env python三、运行Python程序四、

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

Linux中的more 和 less区别对比分析

《Linux中的more和less区别对比分析》在Linux/Unix系统中,more和less都是用于分页查看文本文件的命令,但less是more的增强版,功能更强大,:本文主要介绍Linu... 目录1. 基础功能对比2. 常用操作对比less 的操作3. 实际使用示例4. 为什么推荐 less?5.

使用Python实现网页表格转换为markdown

《使用Python实现网页表格转换为markdown》在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,本文将使用Python编写一个网页表格转Markdown工具,需... 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析