| Python 3网络爬虫开发实战 | ||
| 定价 | 99.00 | |
| 出版社 | 人民邮电出版社 | |
| 版次 | ||
| 出版时间 | 2018年04月 | |
| 开本 | ||
| 作者 | 崔庆才 | |
| 装帧 | ||
| 页数 | ||
| 字数 | ||
| ISBN编码 | 9787115480347 | |
崔庆才
北京航空航天大学硕士,静觅博客(https://cuiqingcai.com/)博主,爬虫博文访问量已过百万,喜欢钻研,热爱生活,乐于分享。欢迎关注个人微信公众号“进击的Coder”。
第1章 开发环境配置 1
1.1 Python 3的安装 1
1.1.1 Windows下的安装 1
1.1.2 Linux下的安装 6
1.1.3 Mac下的安装 8
1.2 请求库的安装 10
1.2.1 requests的安装 10
1.2.2 Selenium的安装 11
1.2.3 ChromeDriver的安装 12
1.2.4 GeckoDriver的安装 15
1.2.5 PhantomJS的安装 17
1.2.6 aiohttp的安装 18
1.3 解析库的安装 19
1.3.1 lxml的安装 19
1.3.2 Beautiful Soup的安装 21
1.3.3 pyquery的安装 22
1.3.4 tesserocr的安装 22
1.4 数据库的安装 26
1.4.1 MySQL的安装 27
1.4.2 MongoDB的安装 29
1.4.3 Redis的安装 36
1.5 存储库的安装 39
1.5.1 PyMySQL的安装 39
1.5.2 PyMongo的安装 39
1.5.3 redis-py的安装 40
1.5.4 RedisDump的安装 40
1.6 Web库的安装 41
1.6.1 Flask的安装 41
1.6.2 Tornado的安装 42
1.7 App爬取相关库的安装 43
1.7.1 Charles的安装 44
1.7.2 mitmproxy的安装 50
1.7.3 Appium的安装 55
1.8 爬虫框架的安装 59
1.8.1 pyspider的安装 59
1.8.2 Scrapy的安装 61
1.8.3 Scrapy-Splash的安装 65
1.8.4 Scrapy-Redis的安装 66
1.9 []署相关库的安装 67
1.9.1 Docker的安装 67
1.9.2 Scrapyd的安装 71
1.9.3 Scrapyd-Client的安装 74
1.9.4 Scrapyd API的安装 75
1.9.5 Scrapyrt的安装 75
1.9.6 Gerapy的安装 76
第2章 爬虫基础 77
2.1 HTTP基本原理 77
2.1.1 URI和URL 77
2.1.2 超文本 78
2.1.3 HTTP和HTTPS 78
2.1.4 HTTP请求过程 80
2.1.5 请求 82
2.1.6 响应 84
2.2 网页基础 87
2.2.1 网页的组成 87
2.2.2 网页的结构 88
2.2.3 节点树及节点间的关系 90
2.2.4 选择器 91
2.3 爬虫的基本原理 93
2.3.1 爬虫概述 93
2.3.2 能抓怎样的数据 94
2.3.3 渲染页面 94
2.4 会话和Cookies 95
2.4.1 静态网页和动态网页 95
2.4.2 无状态HTTP 96
2.4.3 常见误区 98
2.5 代理的基本原理 99
2.5.1 基本原理 99
2.5.2 代理的作用 99
2.5.3 爬虫代理 100
2.5.4 代理分类 100
2.5.5 常见代理设置 101
第3章 基本库的使用 102
3.1 使用urllib 102
3.1.1 发送请求 102
3.1.2 处理异常 112
3.1.3 解析链接 114
3.1.4 分析Robots协议 119
3.2 使用requests 122
3.2.1 基本用法 122
3.2.2 []用法 130
3.3 正则表达式 139
3.4 抓取猫眼电影排行 150
第4章 解析库的使用 158
4.1 使用XPath 158
4.2 使用Beautiful Soup 168
4.3 使用pyquery 184
第5章 数据存储 197
5.1 文件存储 197
5.1.1 TXT文本存储 197
5.1.2 JSON文件存储 199
5.1.3 CSV文件存储 203
5.2 关系型数据库存储 207
5.2.1 MySQL的存储 207
5.3 非关系型数据库存储 213
从语言风格上来说,这本书的作者似乎对读者的耐心程度有着不切实际的估计。全书充斥着大量的专业术语,但作者很少停下来用清晰、类比的方式来解释其背后的原理,仿佛默认所有读者都具备深厚的计算机网络和算法背景。很多关键概念的引入,比如多线程与多进程在爬虫中的适用场景对比分析,或者Scrapy框架的中间件机制的深度剖析,都显得过于跳跃和仓促。对于一个希望通过阅读这本书来入门或进阶的普通技术人员来说,这种高压的叙事节奏让人筋疲力尽。它要求读者必须是极快的学习者,能够自行填补每一个知识空隙,否则很容易迷失在晦涩难懂的定义和突然出现的复杂代码块中,最终只能带着一脑子的疑问草草收场。
评分购买这本书的初衷是想学习如何编写健壮、可维护的爬虫项目,但看完之后我最大的感受是作者对“健壮性”这个概念的理解存在严重偏差。书中提供的代码在面对任何轻微的网络波动或目标网站结构的微小变动时,都会立刻崩溃。错误处理机制几乎是缺失的,比如对HTTP状态码(4xx, 5xx)的处理策略,超时设置的合理区间选择,以及如何优雅地进行重试逻辑的设计,书中都没有给出任何可供参考的模板。这使得我不得不花费比学习新知识更多的时间去为这些示例代码打上“补丁”,以确保它们能在我们内部测试环境中稳定运行。与其说这是一本实战指南,不如说它是一本“如何写出脆弱代码”的教程,如果直接用于生产环境,后果不堪设想。
评分这本书的理论阐述部分显得极其肤浅和空泛,仿佛是匆忙从维基百科上抄录而来,缺乏深度和独到的见解。例如,在讨论到数据存储时,作者简单地介绍了CSV和JSON,但对于大规模数据处理中必须考虑的数据库范式、数据清洗流程中的异常值处理,或者如何设计一个可扩展的ETL管道,完全没有涉及。这种处理方式让人觉得作者对爬虫的整个生命周期缺乏一个宏观的把握,仅仅停留在“抓取”这个孤立的环节。当我在尝试将抓取到的数据整合到我的项目中时,不得不依赖于我已有的数据库知识去重新设计数据结构和存储策略,这本书提供的帮助几乎为零。一个合格的“实战”教材,理应将数据获取与数据处理、存储形成一个完整的闭环,而不是像这本书一样,只给我们一个半成品。
评分作为一个已经有一定编程基础,但希望在爬虫领域深耕的实践者,我发现这本书在“实战”这个名号上做得非常不到位。所谓的“实战案例”,大多停留在抓取静态网页这种几年前就基本被淘汰的技术路线上。面对现在主流的、大量使用JavaScript动态渲染的前端应用,这本书几乎没有提供任何有效的、现代化的解决方案。谈到反爬机制,作者似乎只停留在更换User-Agent和使用简单IP池的初级阶段。对于更复杂的JS逆向分析、Selenium的高级无头模式配置优化、或者如何应对验证码的自动化处理,全书几乎是只字未提,或者只是用一两句轻描淡写的话带过。这使得这本书的实用价值大打折扣,它更像是一本停留在2015年前后的技术回顾录,对于需要解决2024年真实世界爬虫挑战的开发者来说,价值微乎其微,更像是一份过期的“技术食谱”。
评分这本书的排版和印刷质量简直是一场灾难。我是在Kindle上读的,但即便是电子版,内容的组织结构也显得极其混乱。作者似乎将一些零散的代码片段和理论知识生硬地拼凑在一起,缺乏一个清晰的逻辑主线来引导读者。尤其是在讲解请求头、代理设置这些基础但至关重要的部分时,代码示例的注释少得可怜,初学者光是理解每一行代码的意图就得花费大量时间去查阅外部文档,这极大地破坏了阅读的流畅性。更不用提那些看似高级的异步爬虫章节,代码结构复杂到令人发指,作者似乎更热衷于炫耀自己能写出多复杂的代码,而不是如何用最简洁、最易于维护的方式来解决实际问题。感觉像是把一堆堆技术笔记随意堆砌,期待读者自己去从中挖掘出金子。对于希望系统学习网络爬虫的读者来说,这种体验无疑是令人沮丧的,阅读过程更像是一场艰苦的“考古挖掘”,而不是一次愉快的“知识获取”。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有