对于这种在互联网上收集和理解上海信息的方法,网页抓取技术变得更加关键。并编写简单的自动化技术程序流程(网络爬虫)很多时候,它可以自动抓取数百万网页中的信息内容,保持高效的数据收集和解决方案,并考虑许多应用领域的统计数据需求。本书选用了简单而强大的Python语言,全面详细地介绍了网页的抓取技术,讲解了许多难点问题,是一部从统计数据抓取中把握数据清理全步骤的系统软件实践活动手册。这本书分为两部分。一部分深刻了解网页抓取的基础知识,最重要的是详细介绍BeautifulSoup、剪贴簿等Python库的应用。第二部分详细介绍了网络爬虫写作的主题风格,以及它的各种搜索引擎爬行小工具和手机应用,可以帮助你深入了解互联网技术的每一个角落,分析原始记录,阅读数据创建的背景,轻松处理你遇到的各种网页爬行问题。版本2全面升级,增加了网络爬虫的实体模型、杂乱和并行处理的网页抓取相关章节目录。
- 应用Scrapy架构开发设计网络爬虫
- 学习培训储存统计数据的方式
- 从文本文档中载入和获取统计数据
- 清理文件格式槽糕的统计数据
- 自然语言理解
- 根据表格和登陆对话框爬取统计数据
- 爬取JavaScript及运用API爬取统计数据
- 图像识别技术与文本编辑
- 防止爬取圈套和反网络爬虫对策
- 应用网络爬虫检测网址
这书选用简约强劲的Python 語言,详细介绍了网页页面爬取,并且为爬取新型互联网中的各种各样数据类型出示了全方位的具体指导。*一部分重中之重详细介绍网页页面爬取的基本概念:怎样用Python 从服务器恳求信息内容,怎样对网络服务器的没有响应开展基础解决,及其怎样以自动化技术方式与网址开展互动。其次一部分详细介绍怎样用网络爬虫检测网址,自动化技术解决,及其怎样根据大量的方法连接互联网。
目录
- 前言 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
一本很适合爬虫入门的书籍。说适合入门是因为爬虫相关的整体结构比较简单,美丽汤一把梭加 Selenium 辅助,额外有一章介绍 Scrapy;看一半就能上手。其他章节各个方面都讲了一小部分,对已经掌握渴望进阶的朋友来说又有点鸡肋,比如 NLP 的 n-gram 和 Markov 链,SQL 与 Open Refine 存储,requests 库和 Tesseract OCR,单元测试(啊这),多线程与多进程爬虫。避开抓取陷阱一章讲了一些 anti-anti-spider 的方法;最后一章普法小案例也挺有意思。看完之后再看崔庆才,就还行。
很好的爬虫入门教材,部分安装和代码实例有点小问题,很适合我这种有点编程基础的python菜鸟边看相关文档边捣鼓代码debug,顺便深入了解了处理字符串和文件的python标准库。