一、基本信息
- 原名:Web Scraping with Python
- 作者:[美] Ryan Mitchell
- 译者:陶俊杰、陈小莉
- 出版社:人民邮电出版社(图灵程序设计丛书)
- 出版时间:2016 年 3 月
- ISBN:978-7-115-41629-2
- 页数:280 千字,13.5 印张
- 语言:Python 3.x 为主,兼顾 2.x 差异提示
二、内容总览
全书分“基础爬虫”与“高级采集”两大部分,共 14 章与 4 个附录,形成“原理→实践→优化→落地”完整闭环。
第一部分|创建爬虫(第 1–6 章)
- 网络连接与 BeautifulSoup 快速上手
- 复杂 HTML 解析:find/findAll、导航树、正则、Lambda 筛选
- 站点级采集:递归遍历、深度优先、Scrapy 框架入门
- 官方与第三方 API:Twitter、Google Maps、Echo Nest 音乐库
- 数据落地:CSV、MySQL、邮件告警、媒体文件下载
- 非 HTML 文档:TXT、CSV、PDF、Word(docx) 的编码与解析
第二部分|高级数据采集(第 7–14 章)
- 数据清洗:n-gram、正则、OpenRefine 可视化清洗
- 自然语言处理:NLTK 词性标注、马尔可夫链、关键词抽取
- 表单与登录:Requests 会话、Cookie、HTTP Basic Auth、文件上传
- JavaScript 与 Ajax:Selenium+PhantomJS 执行动态页面、重定向监控
- 图像识别与 OCR:Pillow 预处理、Tesseract 训练验证码、对抗字体
- 反爬规避:User-Agent、请求频率、蜜罐字段、隐含链接检测
- 自动化测试:unittest、Selenium 拖放、截屏、像素级断言
- 远程部署:Tor 匿名、云主机竞价实例、分布式采集、法律边界
三、特色与亮点
- 案例驱动:贯穿“维基百科六度分隔”“亚马逊图书预览”“Twitter 情感分析”等实战。
- 工具链完整:urllib、Requests、BeautifulSoup、lxml、Scrapy、Selenium、NLTK、Tesseract、MySQL、OpenRefine 一站式讲解。
- 反爬与伦理并重:专章讨论 robots.txt、法律案例、道德红线,提醒“采集有所不为”。
- 多语言数据源:英文、俄文、中文编码差异与 Unicode 处理实战。
- 云端扩展:给出 AWS EC2、Google GCE 启动脚本,让爬虫从小笔记本扩展到百核云端。
- 可复现代码:GitHub 开源仓库持续维护,书中示例均可一键运行。
四、适读人群
- 有 Python 基础、想快速落地数据采集的开发者
- 数据分析师、机器学习工程师所需的“脏数据”清洗与语料构建
- 自动化测试工程师,需用 Selenium 做回归与前端监控
- 产品经理、市场研究人员,需合法合规地收集竞品公开信息
五、阅读路径建议
- 新手:先读附录 A(Python 速成)→ 第 1–3 章 → 第 5 章(存储)→ 实战小项目。
- 进阶:第 7–9 章(清洗+表单+登录)→ 第 10 章(JavaScript)→ 第 12 章(反爬)。
- 高级:第 11 章(OCR 与验证码训练)→ 第 13 章(自动化测试)→ 第 14 章(云端集群)。
六、一句话总结
《Python网络数据采集》用“蜜蜂采蜜”的比喻贯穿始终:授你以“蜂”——Python 语言与工具箱,示你以“花”——现代 Web 的 API、Ajax、验证码与云端,最终酿出“蜜”——结构化、可分析、可落地的数据资产;既讲技术,也谈伦理,是一本兼顾深度与广度的网络爬虫全景指南。