《Python网络爬虫权威指南(第2版)》,从入门到精通的爬虫宝典!
《Python网络爬虫权威指南(第2版)》,从入门到精通的爬虫宝典!
你是否想学习如何使用Python进行网络爬虫?那么这本书《Python网络爬虫权威指南(第2版)》将是你的不二之选!这本书从理论到实践,全面介绍了网络爬虫的基础概念和使用技术,帮助你在爬虫领域达到最佳效果。本文将带你深入了解这本书的精华部分,让你轻松掌握Python网络爬虫的奥秘!
一、关于本书:
《Python网络爬虫权威指南(第2版)》由美国作者瑞安·米切尔所著,人民邮电出版社2020年4月出版。这本书旨在帮助读者从零开始学习Python网络爬虫,不仅介绍了基础概念,还深入探讨了实用技术。此外,书中还介绍了目前最受欢迎的专业爬虫框架Scrapy,并给出了详细的安装、使用和调试示例。
二、本书亮点:
全面覆盖:本书从基础概念到实用技术,全面涵盖了Python网络爬虫的各个方面。无论你是初学者还是有一定经验的开发者,都能从中受益。
理论与实践相结合:本书不仅介绍了网络爬虫的理论知识,还通过丰富的实例和实践经验,帮助你深入理解并掌握实际操作技巧。
专业框架Scrapy:本书深入介绍了目前最受欢迎的专业爬虫框架Scrapy的安装、使用和调试等内容,让你轻松应对复杂的爬虫任务。
代码示例与技巧:书中提供了大量的代码示例和实用技巧,帮助你更好地理解和应用所学知识,轻松实现自己的项目。
适合各类读者:无论是初学者还是有一定经验的开发者,都能从本书中获得有价值的内容。
三、内容概览:
第一章:爬虫入门基础知识,包括HTTP协议、HTML解析、BeautifulSoup库等。
第二章:介绍Scrapy框架的安装、配置和使用,以及一些常用的命令和技巧。
第三章:通过实例演示如何使用Scrapy进行实际爬虫开发,包括数据提取、存储和导出等。
第四章:讲解爬虫的评估和优化,包括性能测试、异常处理和并发控制等。
第五章:高级爬虫技术及案例分析,如动态爬虫、模拟登录、数据抓取等。
第六章:法律法规与道德规范,提醒大家在爬虫开发中要遵守相关法律法规和道德规范。
四、推荐理由:
全面系统:本书内容全面,涵盖了从基础知识到高级技术的所有方面,帮助读者逐步掌握Python网络爬虫的开发技巧。
实践性强:书中通过大量的实例和实践经验,引导读者实际操作,增强实际应用能力。
适合各类读者:无论是初学者还是有一定经验的开发者,都能从本书中获得有价值的内容。
实用技巧丰富:书中提供了大量的实用技巧和代码示例,方便读者快速上手并解决实际问题。
学习成本低:本书提供了详细的步骤和说明,使得读者可以轻松理解和应用所学知识,减少学习成本。
本书适合所有想要学习Python网络爬虫的读者,无论你是初学者还是有一定经验的开发者,都能从中获得有价值的内容。同时,本书也适合作为相关培训机构的教材或参考书籍。
如果你正在寻找一本全面、系统、实用的Python网络爬虫书籍,《Python网络爬虫权威指南(第2版)》将是你的不二之选!这本书从理论到实践,全面介绍了网络爬虫的基础概念和使用技术,并提供了丰富的实用技巧和代码示例。
无论你是初学者还是有一定经验的开发者,都能从本书中获得宝贵的经验和知识。快来阅读这本书吧!
书籍信息
书名:Python网络爬虫权威指南(第2版)
作者:美国/玛格丽特·米切尔
评分:7.7
出版日期:2019-04-01
出版社:人民邮电出版社
ISBN:9787115509260
页数:260
定价:79
内容简介
本书采用简洁强大的Python语言,全面介绍网页抓取技术,解答诸多常见问题,是掌握从数据爬取到数据清洗全流程的系统实践指南。书中内容分为两部分。第一部分深入讲解网页抓取的基础知识,重点介绍BeautifulSoup、Scrapy等Python库的应用。第二部分介绍网络爬虫编写相关的主题,以及各种数据抓取工具和应用程序,帮你深入互联网的每个角落,分析原始数据,获取数据背后的故事,轻松解决遇到的各类网页抓取问题。第2版全面更新,新增网络爬虫模型、Scrapy和并行网页抓取相关章节。
- 解析复杂的HTML页面
- 使用Scrapy框架开发爬虫
- 学习存储数据的方法
- 从文档中读取和提取数据
- 清洗格式糟糕的数据
- 自然语言处理
- 通过表单和登录窗口抓取数据
- 抓取JavaScript及利用API抓取数据
- 图像识别与文字处理
- 避免抓取陷阱和反爬虫策略
- 使用爬虫测试网站
书籍目录
前言 xi
第一部分 创建爬虫
第1章 初见网络爬虫 3
1.1 网络连接 3
1.2 BeautifulSoup 简介 5
1.2.1 安装BeautifulSoup 6
1.2.2 运行BeautifulSoup 8
1.2.3 可靠的网络连接以及异常的处理 9
第2章 复杂HTML 解析 13
2.1 不是一直都要用锤子 13
2.2 再端一碗BeautifulSoup 14
2.2.1 BeautifulSoup 的find() 和find_all() 16
2.2.2 其他BeautifulSoup 对象 18
2.2.3 导航树 18
2.3 正则表达式 22
2.4 正则表达式和BeautifulSoup 25
2.5 获取属性 26
2.6 Lambda 表达式 26
第3章 编写网络爬虫 28
3.1 遍历单个域名 28
3.2 抓取整个网站 32
3.3 在互联网上抓取 36
第4章 网络爬虫模型 41
4.1 规划和定义对象 41
4.2 处理不同的网站布局 45
4.3 结构化爬虫 49
4.3.1 通过搜索抓取网站 49
4.3.2 通过链接抓取网站 52
4.3.3 抓取多种类型的页面 54
4.4 关于网络爬虫模型的思考 55
第5章 Scrapy 57
5.1 安装Scrapy 57
5.2 创建一个简易爬虫 59
5.3 带规则的抓取 60
5.4 创建item 64
5.5 输出item 66
5.6 item 管线组件 66
5.7 Scrapy 日志管理 69
5.8 更多资源 70
第6章 存储数据 71
6.1 媒体文件 71
6.2 把数据存储到CSV 74
6.3 MySQL 75
6.3.1 安装MySQL 76
6.3.2 基本命令 78
6.3.3 与Python 整合 81
6.3.4 数据库技术与最佳实践 84
6.3.5 MySQL 里的“六度空间游戏” 86
6.4 Email 88
第二部分 高级网页抓取
第7章 读取文档 93
7.1 文档编码 93
7.2 纯文本 94
7.3 CSV 98
7.4 PDF 100
7.5 微软Word 和.docx 102
第8章 数据清洗 106
8.1 编写代码清洗数据 106
8.2 数据存储后再清洗 111
第9章 自然语言处理 115
9.1 概括数据 116
9.2 马尔可夫模型 119
9.3 自然语言工具包 124
9.3.1 安装与设置 125
9.3.2 用NLTK 做统计分析 126
9.3.3 用NLTK 做词性分析 128
9.4 其他资源 131
第10章 穿越网页表单与登录窗口进行抓取 132
10.1 Python Requests 库 132
10.2 提交一个基本表单 133
10.3 单选按钮、复选框和其他输入 134
10.4 提交文件和图像 136
10.5 处理登录和cookie 136
10.6 其他表单问题 139
第11章 抓取JavaScript 140
11.1 JavaScript 简介 140
11.2 Ajax 和动态HTML 143
11.2.1 在Python 中用Selenium 执行JavaScript 144
11.2.2 Selenium 的其他webdriver 149
11.3 处理重定向 150
11.4 关于JavaScript 的最后提醒 151
第12章 利用API 抓取数据 152
12.1 API 概述 152
12.1.1 HTTP 方法和API 154
12.1.2 更多关于API 响应的介绍 155
12.2 解析JSON 数据 156
12.3 无文档的API 157
12.3.1 查找无文档的API 159
12.3.2 记录未被记录的API 160
12.3.3 自动查找和记录API 160
12.4 API 与其他数据源结合 163
12.5 再说一点API 165
第13章 图像识别与文字处理 167
13.1 OCR 库概述 168
13.1.1 Pillow 168
13.1.2 Tesseract 168
13.1.3 NumPy 170
13.2 处理格式规范的文字 171
13.2.1 自动调整图像 173
13.2.2 从网站图片中抓取文字 176
13.3 读取验证码与训练Tesseract 178
13.4 获取验证码并提交答案 183
第14章 避开抓取陷阱 186
14.1 道德规范 186
14.2 让网络机器人看着像人类用户 187
14.2.1 修改请求头 187
14.2.2 用JavaScript 处理cookie 189
14.2.3 时间就是一切 191
14.3 常见表单安全措施 191
14.3.1 隐含输入字段值 192
14.3.2 避免蜜罐 192
14.4 问题检查表 194
第15章 用爬虫测试网站 196
15.1 测试简介 196
15.2 Python 单元测试 197
15.3 Selenium 单元测试 201
15.4 单元测试与Selenium 单元测试的选择 205
第16章 并行网页抓取 206
16.1 进程与线程 206
16.2 多线程抓取 207
16.2.1 竞争条件与队列 209
16.2.2 threading 模块 212
16.3 多进程抓取 214
16.3.1 多进程抓取 216
16.3.2 进程间通信 217
16.4 多进程抓取的另一种方法 219
第17章 远程抓取 221
17.1 为什么要用远程服务器 221
17.1.1 避免IP 地址被封杀 221
17.1.2 移植性与扩展性 222
17.2 Tor 代理服务器 223
17.3 远程主机 224
17.3.1 从网站主机运行 225
17.3.2 从云主机运行 225
17.4 其他资源 227
第18章 网页抓取的法律与道德约束 228
18.1 商标、版权、专利 228
18.2 侵害动产 230
18.3 计算机欺诈与滥用法 232
18.4 robots.txt 和服务协议 233
18.5 3 个网络爬虫 236
18.5.1 eBay 起诉Bidder’s Edge 侵害其动产 236
18.5.2 美国政府起诉Auernheimer 与《计算机欺诈与滥用法》 237
18.5.3 Field 起诉Google:版权和robots.txt 239
18.6 勇往直前 239
关于作者 241
关于封面 241