PyQuery

什么是PyQuery呢?PyQuery库也是一个非常强大又灵活的网页解析库,它的强大之处在于拥有一个功能强大的css选择器,PyQuery 是 Python 仿照 jQuery 的严格实现。语法与 jQuery 几乎完全相同,如果了解了jQuery,对这个爬虫库应该是不会陌生的。

一.初始化

跟Beautiful Soup库差不多,pyquery初始化时,需要传入一个html文本来初始化一个对象,传入的形式有很多,如直接传入字符串,url,文件等等。这里介绍下url传入的形式。
from pyquery import PyQuery as pq
import requests
url="https://book.douban.com/"
headers={
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
html=requests.get(url,headers=headers,timeout=30).text
doc=pq(html)
print(doc)
PyQuery对象会首先请求这个豆瓣读书的url,然后用得到的HTML内容完成初始化,相当于把网页的源代码以字符串的形式传递给PyQuery类来初始化。输出结果是这个url的html的页面源码。

二.基本的css选择器

下面来个例子

from pyquery import PyQuery as pq
import requests
url="https://book.douban.com/"
headers={
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
html=requests.get(url,headers=headers,timeout=30).text
doc=pq(html)
print(doc)
items=doc('.slide-list .list-col.list-col5.list-express.slide-item li').items()
这里我们初始化了PyQuery对象后传入一个CSS选择器:.slide-list .list-col.list-col5.list-express.slide-item li它的意思是选取class为slide-list,list-col,list-col5,list-express,slide-item的节点,然后这个节点内部的所有li结点。

三.寻找节点

1.使用find()方法,传入CSS选择器可以查找子节点:

from pyquery import PyQuery as pq
import requests
url="https://book.douban.com/"
headers={
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
html=requests.get(url,headers=headers,timeout=30).text
doc=pq(html)
items=doc('.slide-list .list-col.list-col5.list-express.slide-item li').items()
print(items)
for item in items:
title=item.find('h4').text()
author=item.find('.author').text()
year=item.find('.year').text()
publish=item.find('.publisher').text()
abstract=item.find('.abstract').text()

这里使用find()方法,会将所有符合条件的子节点选出来

2.父节点可以用parent()的方法来获取某个节点的父节点,查找某个祖先节点可以用parents()

3.查找兄弟节点可以用siblings()方法

4.获取属性可以用attr()方法

from pyquery import PyQuery as pq
import requests
url="https://book.douban.com/"
headers={
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
html=requests.get(url,headers=headers,timeout=30).text
doc=pq(html)
items=doc('.slide-list .list-col.list-col5.list-express.slide-item li').items()
print(items)
for item in items:
images=item('img')
src=images.attr('src')

这里找到的是img标签下的src属性值

5.获取文本可以调用text()方法。

四.节点操作

pyquery提供了一系列方法对节点进行动态修改,如removeClass和addClass分别进行移除和添加节点操作。

五.豆瓣读书案例爬取

from pyquery import PyQuery as pq
import requests
url="https://book.douban.com/"
headers={
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
html=requests.get(url,headers=headers,timeout=30).text
doc=pq(html)
items=doc('.slide-list .list-col.list-col5.list-express.slide-item li').items()
print(items)
for item in items:
images=item('img')
src=images.attr('src')
title=item.find('h4').text()
author=item.find('.author').text()
year=item.find('.year').text()
publish=item.find('.publisher').text()
abstract=item.find('.abstract').text()
file=open('book.txt','a',encoding='utf-8')
file.write('\n'.join([title,author,year,publish,abstract,src]))
file.write('\n'+'='*50+'\n')
file.close()
突然,响起一阵敲门声
[以色列] 埃特加·凯雷特 [以色列] 埃特加·凯雷特
2020-7
浦睿文化·湖南文艺出版社
短篇小说大师埃特加·凯雷特征服全球读者的经典杰作 一条会说话的金鱼,能帮你实现三个愿望;一个惯于说谎的人有一天竟然遇到了说谎时虚构的人物;一个女孩在男友的嘴里发现一个拉链,拉开后竟出现一个完全不同的男人...... 这些从日常入手、创意十足的故事,以罕见的文字魔力,为苦闷的生活现实提供了一种改变的可能。 读了凯雷特的故事,你会发现:原来只要给平凡生活一...
https://img3.doubanio.com/view/subject/s/public/s33652573.jpg
==================================================
日本营造之美(第一辑)
(日) 西冈常一 宫上茂隆 等著 / (日) 穗积和夫 绘 (日) 西冈常一 宫上茂隆 等著 / (日) 穗积和夫 绘
2020-6
上海人民出版社
◎编辑推荐 ·青山周平、李长声倾情推荐;畅销日本多年,简体中文版终于问世 ·日本建筑插画泰斗穗积和夫亲自操刀,近千幅手绘图精准还原历史场景与建造过程 ·西冈常一、宫上茂隆等9位专家联手打造,融合建筑、历史、美学与文化的经典巨作 ·探寻日本空间美学观念,直抵日本人的精神世界 ·第一辑精选: 日本国宝级木造建筑 法隆寺 日本庭园美学代表 桂离宫 日本独创的陵墓...
https://img3.doubanio.com/view/subject/s/public/s33641101.jpg
==================================================
找不到工作的一年
[日] 吉田修一 [日] 吉田修一
2020-7
上海人民出版社
★桃桃淘电影、史航感动推荐,最贴近现代人深层体温的作者吉田修一全新力作。 ★这个傻傻的、有点丧的男人,满足了我对好人的一切幻想。 ★《横道世之介》同名电影千万读者贡献票房,豆瓣年度电影十佳8.8高分。 ★人生不如意,万岁!人生衰到底,万万岁!陪你度过人生低谷期的朋友世之介,只要有世之介在就有欢笑在。 ★24岁的善良青年世之介找不到工作的一年,契合当下...
https://img9.doubanio.com/view/subject/s/public/s33662774.jpg
==================================================
显微镜下的成都
王笛 王笛
2020-7
上海人民出版社
★一只四川蟋蟀,远离故乡,“在乡愁者的心窝”,唱了近30年的歌 ★数十年心血构筑迷人微观世界,百年川地历史讲述“另一个中国” ★收录全新未刊访谈,选入数十幅珍贵插图,麻将研究首次结集出版 ★作者五次校订,历时三载成书,精选精编 本书是著名历史学家、中国微观史研究代表人物王笛教授30年作品精粹。全书以四川地区四个特殊的历史/文化现象街头、茶馆、袍哥、麻...
https://img9.doubanio.com/view/subject/s/public/s33663016.jpg
==================================================
鳄鱼街
(波) 布鲁诺·舒尔茨 (波) 布鲁诺·舒尔茨
2020-6
广西师范大学出版社
本书收录了布鲁诺· 舒尔茨存世的全部虚构作品:两部短篇小说集《鳄鱼街》《用沙漏做招牌的疗养院》,以及集外的3个短篇,构成了一个个既彼此独立又有内在联系的故事。其中《肉桂色铺子》《用沙漏做招牌的疗养院》是短篇小说里的杰作。《肉桂色铺子》描述了一个少年在月夜所经历的一切。作者极尽夜晚幻景的铺陈之能事,传达了夜间光影迷宫难以言说的魅力,带有少年强...
https://img1.doubanio.com/view/subject/s/public/s33691387.jpg
==================================================
在雪山和雪山之间
乔阳 乔阳
2020-7
北京联合出版公司
作者乔阳的童年和少年时期在四川度过,二十多岁的时候,她去了云南,在梅里雪山的飞来寺和白马雪山的雾浓顶村生活了近二十年。这二十年里,她和雪山间的藏民们生活在一起,听他们讲故事或者说笑话,观察他们,也被他们观察,直到成为他们中间的一个。她和那里的自然生活在一起,感受它们,也 被它们感受,直到成为它们中间的一个。 从海拔2000米的亚热带干暖性河谷灌...
https://img3.doubanio.com/view/subject/s/public/s33662542.jpg
==================================================
昭和六十四年绑架案
[日]横山秀夫 [日]横山秀夫
2020-7
人民文学出版社
★『周刊文春二○一二年推理小说BEST 10』第一名 ★二○一三年『这本推理小说了不起!』第一名 ★『达文奇 二○一三年度佳作第一位』 ★二○一三年『书店大奖』第二名 ★入选英国推理作家协会『钻石匕首奖』短名单 携史上罕见豪华演员阵容、轰动二○一六年日本影坛的同名电影的原作 作品被译成英、法、德、意、荷等多国文字 原本坐刑事部搜查二课第二把交椅的三上,二○○...
https://img9.doubanio.com/view/subject/s/public/s33692064.jpg
==================================================
醉钢琴与地下蓝调
[美] 汤姆·威兹 [美] 汤姆·威兹
2020-6
广西师范大学出版社
他看起来总心怀深重忧郁,似乎随时准备卖掉灵魂换一杯威士忌; 他着迷于社会下层生活,致力于记载我们所有人心中破产的罗曼史; 他是被碾碎的浪漫主义者,吼出垮掉派与爵士时代的最后一缕青烟; 他是汤姆·威兹——当很多同时代的创作歌手,如鲍勃·迪伦、尼尔·杨等,纷纷迷失于 1980年代,他一爪一爪地剖开自己的灵魂,从中拽出恶魔,以音乐才华炖成沸腾肉汤,填补留...
https://img3.doubanio.com/view/subject/s/public/s33679040.jpg
==================================================
难言之隐
[英] 戴维·洛奇 [英] 戴维·洛奇
2020-6
新星出版社
★内容介绍 这本篇幅紧凑、结构合理的中篇小说,讲述了一位过气的小说家和如今已是成功编剧的大学同学冒着泄露家庭隐私的风险,一意报复文风尖酸刻薄的女记者的故事。小说通过轻松又不失时代感的语言和扣人心弦的情节,讽刺了媒体与名人文化之间的贪婪关系,也审视了作家对自己才华的责任。 ------------------------------------------------ ★编辑推荐 英国学院派小说代表、知名作家和...
https://img3.doubanio.com/view/subject/s/public/s33673901.jpg
==================================================
通向巴塔耶
张生 张生
2020-7-7
南京大学出版社
★ 一本通向“爱欲与死亡的大师”巴塔耶思想迷宫的学术指南。《色情》标配读物。 ★ 梳理核心概念“耗尽”“色情”“至尊性”,勾勒巴塔耶思想地图,思想震荡。 ★ 剖析巴塔耶的暗黑文艺思想——文学与恶、诗人、天才、孩童 ★ 追忆巴塔耶生平及思想传承,绘出星群璀璨的思想谱系图,上承尼采、科耶夫…与拉康、雷蒙·阿隆、布朗肖同时代,下启鲍德里亚、罗兰·巴特…...
https://img9.doubanio.com/view/subject/s/public/s33674916.jpg
==================================================
横滨车站SF
[日] 柞刈汤叶 [日] 柞刈汤叶
2020-6
文化发展出版社
持续进行改建工程的横滨车站,终于开始了自我增殖,侵噬了日本本州99%的土地。横滨车站站内居民,大脑被植入Suika管控。 未植入Suika的站外少年寻人,通过“18车票”进入车站,开始了为期五天的站内之旅。 寻人的一个决定,竟关系到人类的未来…… 编辑推荐: ☆2018年《这本轻小说真厉害!》单行本小说类新作第一位 ☆入围日本第38届SF大赏 ☆《三体》日文译者大森望...
https://img3.doubanio.com/view/subject/s/public/s33689031.jpg
==================================================
柏拉图上班记
[法] 朱勒 / 夏尔·佩潘 [法] 朱勒 / 夏尔·佩潘
2020-7
江苏凤凰文艺出版社
※ 跟随“实习生”柏拉图,阅尽哲学家的职场百态! ※ 3000年的哲学智慧,帮助我们重新思考职场! ※ 继《智者星球》之后,读者在现代职场再次遇见人类最伟大的哲学家! ◎ 编辑推荐 												

pyquery库之爬取豆瓣读书相关推荐

  1. 使用Requests和Lxml库,爬取豆瓣读书TOP250

    from lxml import etree import requests import csv #导入需要的库fp = open('C://Users/Administrator/Desktop/ ...

  2. python——利用正则表达式爬取豆瓣读书中的图书信息

    本来可以使用一条正则表达式完成图书信息的爬取,结果发现在CPU性能较差的电脑上进行爬取时耗时非常长,几乎无法将结果获取到.所以,将大的html源码先经过一次简单的匹配以获取到一个中间结果,然后再从中间 ...

  3. python爬取豆瓣读书并进行图形化分析

    python爬取豆瓣读书并进行图形化分析 豆瓣读书网页数据爬取并保存至csv 对数据进行分析并汇成图形 绘制散点图 图形效果展示 以下代码内容大多是团队小伙伴的杰作,而本人只是为了能让更多的人学习到知 ...

  4. python爬取豆瓣读书top250并保存xls(含源码)

    python爬取豆瓣读书top250并保存xls(含源码) 又是霍霍豆瓣的一天O(∩_∩)O哈哈~. 目标网站:http://book.douban.com/top250/ 全军出击!!! 首先,按下 ...

  5. python爬取豆瓣读书的书名与简介

    最近写了一个python爬取豆瓣读书的书名与简介的程序,一开始是要爬取当当书名与简介的,由于涉及动态的一些问题,运用了selenium库,也实现了但是爬取速度慢,而且不稳定,出现被目标计算机积极拒绝访 ...

  6. 一看就会的20行代码爬取豆瓣读书Top250

    想入门Python爬虫,大家都喜欢拿爬取豆瓣读书Top250为例子来练手. 下面我就给大家分享一个简单的爬虫. 1.确定所需库 首先我们要确定需要引入的库. 要爬取网页的数据,当然要发送请求啦,所以我 ...

  7. Requests+Xpath 爬取豆瓣读书TOP并生成txt,csv,json,excel文件

    说明: ##来源:https://www.cnblogs.com/yizhiamumu/p/10270926.html 1 Requests+Xpath 爬取豆瓣读书TOP ''' Requests+ ...

  8. 爬虫beautifulsoup爬取豆瓣读书数据

    爬虫beautifulsoup爬取豆瓣读书数据:主要是爬取收集书的名字.类别.简介,用于接下来的聚类学习. 豆瓣链接:https://book.douban.com/tag/?view=type&am ...

  9. 爬取豆瓣读书的图书信息和评论信息

    最近在做毕业设计,需要收集用户的评分数据做协同过滤算法,同时收集评论数据做情感分析 坑点 豆瓣图书可以没有评分,或者用户评论了但没给评分.而且豆瓣图书的编码方式很无奈呀,热门书籍附近总是冷门书籍,无评 ...

  10. Python-爬虫(Scrapy爬虫框架,爬取豆瓣读书和评分)

    文章目录 1.Scrapy注意点 2. Scrapy爬取豆瓣读书和评分 代码部分 数据定义items.py 爬虫部分spiders/book.py 数据存储部分pipelines.py 启动爬虫执行c ...

最新文章

  1. MySQL基础篇:单行函数
  2. 自定义状态栏notification布局
  3. mysql 更新多条id键值相同记录中的最新(最后一条)记录
  4. 省选专练之神仙贪心IOI2013Robert
  5. Counting power sets
  6. SCM-SVN集成服务器
  7. 虚拟机中dns配置好了但是域名ping不同_弱电工程中常用的几个网络命令,学会后轻松变高手...
  8. idea 升级到2020后 无法启动_升级iOS 14尝鲜后,无法降级 iOS13.5.1?
  9. leetcode155. 最小栈
  10. 计算机网络复习题大全(各种题型)
  11. java服务器客户端程序在联机运行时被防火墙拦截
  12. python动图自动识别,自动识别图像中的模式
  13. RestSharp的使用记录
  14. 一次PHP网站木马查杀记录
  15. 啊哈算法 --对冒泡排序python写法
  16. 如何在手机上将图片转换为文字
  17. 高等数学-线性代数:特征向量与差分方程的连接
  18. 是非人生 — 一个菜鸟程序员的5年职场路 第14节
  19. 网络系统管理 - C模块 - Centos7.9 - Iptables
  20. 腾讯清凉云dd win 7

热门文章

  1. 洛谷试炼场--1-2顺序与分支(java版)
  2. matlab中做出球面和圆柱面,matlab画柱面与球面切线
  3. 矩阵连乘(动态规划)
  4. 抖音点赞最多的标题_抖音吸引人评论的标题,抖音什么标题容易点赞
  5. 模糊C均值聚类算法及实现
  6. C/C++编程题之购物清单
  7. vmware卸载不干净,重装不了问题;装了虚拟机上不了网问题;装了虚拟机发现windows在cmd中ping不了虚拟机,虚拟机能ping的了windows;secureCRT或者filezilla连接
  8. 支持向量机SVM思维导图
  9. android根据轮播图片颜色改变背景颜色
  10. 计算机组成原理中原码一位乘法