具体描述
本书站在初学者的角度,从原理到实践,循序渐进地讲述了使用Python开发网络爬虫的核心技术。全书从逻辑上可分为基础篇、实战篇和爬虫框架篇三部分。基础篇主要介绍了编写网络爬虫所需的基础知识,分别是网站分析、数据抓取、数据清洗和数据入库。网站分析讲述如何使用Chrome和Fiddler抓包工具对网络做全面分析;数据抓取介绍了Python爬虫模块Urllib和Requests的基础知识;数据清洗主要介绍字符串操作、正则和Beautiful Soup的使用;数据入库分别讲述了MySQL和MongoDB的操作,通过ORM框架SQLAlchemy实现数据持久化,实现企业级开发。实战篇深入讲解了分布式爬虫、爬虫软件开发与应用、12306抢票程序和微博爬取,所举示例均来自于开发实践,可帮助读者快速提升技能,开发实际项目。框架篇主要讲述Scrapy的基础知识,并通过爬取QQ音乐为实例,让读者深层次了解Scrapy的使用。
本书内容丰富,注重实战,适用于从零开始学习网络爬虫的初学者,或者是已经有一些网络爬虫编写经验,但希望更加全面、深入理解Python爬虫的开发人员。
作者简介
黄永祥,CSDN博客专家和签约讲师,多年软件研发经验,主要从事机器人流程系统研发、大数据系统研发、网络爬虫研发以及自动化运维系统研发。擅长使用Python编写高质量代码,对Python有深入研究,热爱分享和新技术的探索。
目录信息
第1章理解网络爬虫 1
1.1 爬虫的定义 1
1.2 爬虫的类型 2
1.3 爬虫的原理 3
1.4 爬虫的搜索策略 5
1.5 反爬虫技术及解决方案 6
1.6 本章小结 8
第2章爬虫开发基础 9
2.1 HTTP与HTTPS 9
2.2 请求头 11
2.3 Cookies 13
2.4 HTML 14
2.5 JavaScript 16
2.6 JSON 18
2.7 Ajax 19
2.8 本章小结 20
第3章Chrome分析网站 21
3.1 Chrome开发工具 21
3.2 Elements标签 22
3.3 Network标签 23
3.4 分析QQ音乐 27
3.5 本章小结 29
第4章Fiddler抓包工具 30
4.1 Fiddler介绍 30
4.2 Fiddler安装配置 31
4.3 Fiddler抓取手机应用 33
4.4 Toolbar工具栏 36
4.5 Web Session列表 37
4.6 View选项视图 40
4.7 Quickexec命令行 41
4.8 本章小结 42
第5章Urllib数据抓取 43
5.1 Urllib简介 43
5.2 发送请求 44
5.3 复杂的请求 46
5.4 代理IP 47
5.5 使用Cookies 48
5.6 证书验证 50
5.7 数据处理 51
5.8 本章小结 52
第6章Requests数据抓取 54
6.1 Requests简介及安装 54
6.2 请求方式 55
6.3 复杂的请求方式 57
6.4 下载与上传 60
6.5 本章小结 63
第7章验证码识别 64
7.1 验证码类型 64
7.2 OCR技术 66
7.3 第三方平台 69
7.4 本章小结 72
第8章数据清洗 74
8.1 字符串操作 74
8.2 正则表达式 78
8.3 Beautiful Soup介绍及安装 84
8.4 Beautiful Soup的使用 86
8.5 本章小结 90
第9章文档数据存储 92
9.1 CSV数据写入和读取 92
9.2 Excel数据写入和读取 94
9.3 Word数据写入和读取 99
9.4 本章小结 101
第10章ORM框架 104
10.1 SQLAlchemy介绍 104
10.2 安装SQLAlchemy 105
10.3 连接数据库 106
10.4 创建数据表 108
10.5 添加数据 111
10.6 更新数据 112
10.7 查询数据 114
10.8 本章小结 116
第11章MongoDB数据库操作 118
11.1 MongoDB介绍 118
11.2 安装及使用 120
11.2.1 MongoDB 120
11.2.2 MongoDB可视化工具 121
11.2.3 PyMongo 123
11.3 连接数据库 123
11.4 添加文档 125
11.5 更新文档 126
11.6 查询文档 127
11.7 本章小结 130
第12章项目实战:爬取淘宝商品信息 131
12.1 分析说明 131
12.2 功能实现 134
12.3 数据存储 136
12.4 本章小结 138
第13章项目实战:分布式爬虫——QQ音乐 139
13.1 分析说明 139
13.2 歌曲下载 140
13.3 歌手和歌曲信息 145
13.4 分类歌手列表 148
13.5 全站歌手列表 150
13.6 数据存储 152
13.7 分布式概念 154
13.7.1 GIL是什么 154
13.7.2 为什么会有GIL 154
13.8 并发库concurrent.futures 155
13.9 分布式爬虫 157
13.10 本章小结 159
第14章项目实战:爬虫软件—— 淘宝商品信息 161
14.1 分析说明 161
14.2 GUI库介绍 162
14.3 PyQt5安装及环境搭建 162
14.4 软件界面开发 165
14.5 MVC——视图 169
14.6 MVC——控制器 171
14.7 MVC——模型 172
14.8 扩展思路 173
14.9 本章小结 174
第15章项目实战:12306抢票 176
15.1 分析说明 176
15.2 验证码验证 177
15.3 用户登录与验证 181
15.4 查询车次 187
15.5 预订车票 193
15.6 提交订单 196
15.7 生成订单 204
15.8 本章小结 209
第16章项目实战:玩转微博 219
16.1 分析说明 219
16.2 用户登录 220
16.3 用户登录(带验证码) 232
16.4 关键字搜索热门微博 240
16.5 发布微博 247
16.6 关注用户 253
16.7 点赞和转发评论 257
16.8 本章小结 263
第17章Scrapy爬虫框架 265
17.1 爬虫框架 265
17.2 Scrapy的运行机制 267
17.3 安装Scrapy 268
17.4 爬虫开发快速入门 270
17.5 Spiders介绍 277
17.6 Spider的编写 278
17.7 Items的编写 282
17.8 Item Pipeline的编写 284
17.9 Selectors的编写 288
17.10 文件下载 291
17.11 本章小结 296
第18章项目实战:Scrapy爬取QQ音乐 298
18.1 分析说明 298
18.2 创建项目 299
18.3 编写setting 300
18.4 编写Items 301
18.5 编写Item Pipelines 302
18.6 编写Spider 305
18.7 本章小结 310
· · · · · · (收起)
读后感
用户评价
读完这本书,我最大的感受就是“玩转”二字名副其实。它不仅仅是教授技术,更是在激发我的学习兴趣和创造力。书中提供的各种实战项目,都非常有趣且具有挑战性,让我能够在实践中不断探索和进步。我尝试着将书中的技术应用到我自己的项目中,比如自动收集我喜欢的某个领域的新闻、分析某个网站的用户评论等,效果都非常不错。这本书让我深刻体会到,网络爬虫不仅仅是一项技术,更是一种发现信息、解决问题的能力。
在学习过程中,我最大的感受就是这本书的实用性。它不仅仅是理论知识的堆砌,而是充满了实战性的案例。从抓取新闻资讯、商品信息,到分析社交媒体数据、爬取招聘信息,书中几乎涵盖了所有我能想到的应用场景。更重要的是,作者在讲解每一个案例时,都会分析其中的难点和关键点,并给出相应的解决方案。比如,在处理验证码的问题上,书中介绍了多种识别验证码的方法,包括使用第三方库和自己搭建识别模型,这些技巧对于实际应用来说至关重要。我尝试着跟着书中的例子复现了一些案例,效果非常显著,让我充满了成就感。
这本书的到来,简直就像及时雨!我一直对网络爬虫这个领域充满好奇,但又觉得无从下手,各种技术名词和理论知识听起来就让人头大。在朋友的推荐下,我抱着试试看的心态入手了《玩转Python网络爬虫》,没想到它彻底颠覆了我对这个领域的认知。首先,书中的语言非常生动形象,不像我之前看过的一些技术书籍那样枯燥乏味。作者用了很多贴近生活的例子来讲解概念,比如用“寻宝游戏”来比喻爬取网页数据,用“信息侦探”来形容爬虫工程师。这种比喻让我一下子就抓住了核心要点,感觉自己不是在学习一个高深的技术,而是在进行一场有趣的探索。
我之前也看过一些关于网络爬虫的书籍,但很多都停留在基础的抓取和解析层面,对于如何进行更复杂的项目,如何优化爬虫性能,如何应对各种复杂的网络环境,都介绍得不够深入。这本书在这方面做得非常好,它不仅讲解了如何编写高效的爬虫代码,还提供了很多关于并发、多线程、异步编程的技巧,这些都极大地提高了我的爬虫开发能力。书中关于分布式爬虫的介绍也让我大开眼界,让我知道原来爬虫还可以通过分布式的方式来提升效率,这为我处理大规模数据奠定了基础。
这本书最大的亮点在于其循序渐进的学习路径。它不像一些速成教程那样,上来就抛出一堆复杂的概念,而是从最基础的“爬取静态网页”开始,逐步深入到“处理动态网页”、“应对反爬机制”等更高级的主题。每一个章节都建立在前一章节知识的基础上,让我能够稳步提升。例如,在学习如何处理JavaScript渲染的页面时,书中详细介绍了Selenium的使用方法,并且提供了多种实用的技巧,比如如何模拟用户行为、如何提高爬取效率等。这些内容对于我来说是全新的,但作者的讲解清晰明了,配合着代码演示,我很快就掌握了相关技术,并能独立解决很多复杂的问题。
这本书的结构设计也让我赞不绝口。它不是那种流水账式的讲解,而是将知识点进行了合理的分类和梳理。每个章节都有明确的学习目标,并且在章节的最后都配有习题和实践项目,这大大加深了我的理解和记忆。我特别喜欢书中关于“数据分析与可视化”的部分,它将爬虫技术与数据分析结合起来,让我看到了爬虫技术的实际价值。通过简单的图表和统计分析,我能够清晰地看到数据的规律和趋势,这对于我未来的学习和工作都非常有启发。
《玩转Python网络爬虫》这本书在应对反爬虫技术方面也提供了非常有价值的指导。我一直都知道网络爬虫会面临各种反爬措施,但如何有效地绕过这些限制却是一个技术难题。这本书深入浅出地讲解了常见的反爬机制,例如IP封锁、User-Agent检测、Cookies验证、JavaScript加密等,并且为每一种机制都提供了相应的应对策略。书中不仅介绍了如何使用代理IP池、更换User-Agent,还讲解了如何模拟浏览器行为,甚至如何通过分析JavaScript代码来破解加密。这些内容让我对网络爬虫的攻防有了更深刻的认识。
这本书在讲解数据解析和存储方面也做得非常出色。我之前总是对如何有效地处理和存储爬取到的数据感到困惑,经常是抓了一堆原始数据,却不知道如何有效地利用它们。这本书详细介绍了BeautifulSoup、lxml等HTML解析库的使用,并且重点讲解了正则表达式在数据提取中的妙用。更让我惊喜的是,书中还提供了多种数据存储方案,包括将数据存入CSV文件、JSON文件,以及更强大的数据库(如MySQL、SQLite)等。作者还分享了一些数据清洗和预处理的技巧,这对于后续的数据分析和应用非常有帮助。
总的来说,《玩转Python网络爬虫》这本书是一本集理论与实践于一体的优秀教材。它不仅适合Python初学者,也能够帮助有一定经验的爬虫开发者进一步提升技能。书中清晰的讲解、丰富的案例、循序渐进的学习路径,以及对反爬机制的深入剖析,都让我受益匪浅。这本书真正地让我感受到了Python网络爬虫的魅力,也为我打开了通往数据世界的大门。我强烈推荐所有对网络爬虫感兴趣的朋友阅读这本书,相信你也会和我一样,爱上这项充满挑战和乐趣的技术。
我尤其喜欢书中关于Python基础知识的梳理。虽然我之前有过一些Python的接触,但很多细节和高级用法都遗忘了。这本书从头开始,用非常系统和易于理解的方式重新讲解了Python的核心语法、数据结构和常用库,比如BeautifulSoup和Requests。作者并没有简单地罗列知识点,而是通过大量的代码示例和实际操作指导,让我能够边学边练,巩固理解。特别是书中关于异常处理和数据存储的部分,讲解得非常透彻,让我避免了很多新手常犯的错误。以前我写爬虫总是容易遇到各种意想不到的错误,这本书就像一个万能的“bug克星”,教会了我如何预见和解决问题。
书的内容虽然一般,但是通过书里的QQ群,联系到了作者本人,指导着我完成了我的第一个爬虫项目,感谢黄老师
书的内容虽然一般,但是通过书里的QQ群,联系到了作者本人,指导着我完成了我的第一个爬虫项目,感谢黄老师
书的内容虽然一般,但是通过书里的QQ群,联系到了作者本人,指导着我完成了我的第一个爬虫项目,感谢黄老师
哎,感觉就是东拼西凑的
很适合小白入门,项目讲解详细易懂