网站首页 文章专栏 《python网络爬虫权威指南》
《python网络爬虫权威指南》
创建于:2019-09-08 21:51:49 更新于:2024-11-22 15:43:50 羽瀚尘 1092
2019书单 2019书单

感想

很早之前在kindle上看过一遍,作为概念理解很好,但实操性不太强。至少没有另外一本爬虫书强。

目录

前言 xi 
第 一部分 创建爬虫 
第 1 章 初见网络爬虫 3 
1.1 网络连接 3 
1.2 BeautifulSoup 简介 5 
1.2.1 安装BeautifulSoup 6 
1.2.2 运行BeautifulSoup 8 
1.2.3 可靠的网络连接以及异常的处理 92 章 复杂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 其他资源 13110 章 穿越网页表单与登录窗口进行抓取 132 
10.1 Python Requests 库 132 
10.2 提交一个基本表单 133 
10.3 单选按钮、复选框和其他输入 134 
10.4 提交文件和图像 136 
10.5 处理登录和cookie 136 
10.6 其他表单问题 13911 章 抓取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 的最后提醒 15112 章 利用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 16513 章 图像识别与文字处理 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 获取验证码并提交答案 18314 章 避开抓取陷阱 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 问题检查表 19415 章 用爬虫测试网站 196 
15.1 测试简介 196 
15.2 Python 单元测试 197 
15.3 Selenium 单元测试 201 
15.4 单元测试与Selenium 单元测试的选择 20516 章 并行网页抓取 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 多进程抓取的另一种方法 21917 章 远程抓取 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 其他资源 22718 章 网页抓取的法律与道德约束 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