第1章 网络数据爬取概述 1
1.1 网络爬虫 1
1.2 相关技术 3
1.2.1 HTTP 3
1.2.2 HTML 3
1.2.3 Python 5
1.3 本章小结 5
参考文献 5
第2章 Python知识初学 6
2.1 Python简介 6
2.2 基础语法 11
2.2.1 缩进与注释 11
2.2.2 变量与常量 12
2.2.3 输入与输出 14
2.2.4 赋值与表达式 16
2.3 数据类型 16
2.3.1 数字类型 16
2.3.2 字符串类型 17
2.3.3 列表类型 17
2.3.4 元组类型 19
2.3.5 字典类型 19
2.4 条件语句 19
2.4.1 单分支 20
2.4.2 二分支 20
2.4.3 多分支 21
2.5 循环语句 22
2.5.1 while循环 22
2.5.2 for循环 24
2.5.3 break和continue语句 24
2.6 函数 25
2.6.1 自定义函数 26
2.6.2 常见内部库函数 27
2.6.3 第三方库函数 29
2.7 字符串操作 30
2.8 文件操作 32
2.8.1 打开文件 32
2.8.2 读/写文件 32
2.8.3 关闭文件 33
2.8.4 循环遍历文件 34
2.9 面向对象 34
2.10 本章小结 36
参考文献 36
第3章 正则表达式爬虫之牛刀小试 37
3.1 正则表达式 37
3.2 Python网络数据爬取的常用模块 39
3.2.1 urllib模块 39
3.2.2 urlparse模块 42
3.2.3 requests模块 44
3.3 正则表达式爬取网络数据的常见方法 45
3.3.1 爬取标签间的内容 45
3.3.2 爬取标签中的参数 49
3.3.3 字符串处理及替换 50
3.4 个人博客爬取实例 52
3.4.1 分析过程 52
3.4.2 代码实现 57
3.5 本章小结 59
参考文献 59
第4章 BeautifulSoup技术 60
4.1 安装BeautifulSoup 60
4.1.1 Python 2.7安装BeautifulSoup 60
4.1.2 pip安装扩展库 63
4.2 快速开始BeautifulSoup解析 67
4.2.1 BeautifulSoup解析HTML 68
4.2.2 简单获取网页标签信息 71
4.2.3 定位标签并获取内容 72
4.3 深入了解BeautifulSoup 73
4.3.1 BeautifulSoup对象 74
4.3.2 遍历文档树 79
4.3.3 搜索文档树 82
4.4 用BeautifulSoup简单爬取个人博客网站 84
4.5 本章小结 87
参考文献 87
第5章 用BeautifulSoup爬取电影信息 88
5.1 分析网页DOM树结构 88
5.1.1 分析网页结构及简单爬取 88
5.1.2 定位节点及网页翻页分析 91
5.2 爬取豆瓣电影信息 94
5.3 链接跳转分析及详情页面爬取 98
5.4 本章小结 104
参考文献 104
第6章 Python数据库知识 105
6.1 MySQL数据库 105
6.1.1 MySQL的安装与配置 105
6.1.2 SQL基础语句详解 112
6.2 Python操作MySQL数据库 119
6.2.1 安装MySQL扩展库 119
6.2.2 程序接口DB-API 121
6.2.3 Python调用MySQLdb扩展库 122
6.3 Python操作SQLite 3数据库 126
6.4 本章小结 129
参考文献 129
第7章 基于数据库存储的BeautifulSoup招聘爬虫 130
7.1 知识图谱和智联招聘 130
7.2 用BeautifulSoup爬取招聘信息 132
7.2.1 分析网页超链接及跳转处理 132
7.2.2 DOM树节点分析及网页爬取 135
7.3 Navicat for MySQL工具操作数据库 137
7.3.1 连接数据库 137
7.3.2 创建数据库 139
7.3.3 创建表 141
7.3.4 数据库增删改查操作 143
7.4 MySQL数据库存储招聘信息 146
7.4.1 MySQL操作数据库 146
7.4.2 代码实现 148
7.5 本章小结 153
参考文献 153
第8章 Selenium技术 154
8.1 初识Selenium 154
8.1.1 安装Selenium 155
8.1.2 安装浏览器驱动 156
8.1.3 PhantomJS 158
8.2 快速开始Selenium解析 159
8.3 定位元素 162
8.3.1 通过id属性定位元素 163
8.3.2 通过name属性定位元素 165
8.3.3 通过XPath路径定位元素 166
8.3.4 通过超链接文本定位元素 168
8.3.5 通过标签名定位元素 169
8.3.6 通过类属性名定位元素 170
8.3.7 通过CSS选择器定位元素 170
8.4 常用方法和属性 170
8.4.1 操作元素的方法 170
8.4.2 WebElement常用属性 174
8.5 键盘和鼠标自动化操作 175
8.5.1 键盘操作 175
8.5.2 鼠标操作 177
8.6 导航控制 178
8.6.1 下拉菜单交互操作 178
8.6.2 Window和Frame间对话框的移动 179
8.7 本章小结 180
参考文献 180
第9章 用Selenium爬取在线百科知识 181
9.1 三大在线百科 181
9.1.1 维基百科 181
9.1.2 百度百科 183
9.1.3 互动百科 184
9.2 用Selenium爬取维基百科 185
9.2.1 网页分析 185
9.2.2 代码实现 190
9.3 用Selenium爬取百度百科 190
9.3.1 网页分析 190
9.3.2 代码实现 195
9.4 用Selenium爬取互动百科 198
9.4.1 网页分析 198
9.4.2 代码实现 200
9.5 本章小结 202
参考文献 203
第10章 基于数据库存储的Selenium博客爬虫 204
10.1 博客网站 204
10.2 Selenium爬取博客信息 206
10.2.1 Forbidden错误 206
10.2.2 分析博客网站翻页方法 208
10.2.3 DOM树节点分析及网页爬取 210
10.3 MySQL数据库存储博客信息 212
10.3.1 Navicat for MySQL创建表 213
10.3.2 Python操作MySQL数据库 214
10.3.3 代码实现 216
10.4 本章小结 222
第11章 基于登录分析的Selenium微博爬虫 223
11.1 登录验证 223
11.2 初识微博爬虫 226
11.2.1 微博 226
11.2.2 登录入口 227
11.2.3 微博自动登录 229
11.3 爬取微博热门信息 232
11.3.1 搜索所需的微博主题 232
11.3.2 爬取微博内容 235
11.4 本章小结 242
参考文献 242
第12章 基于图片爬取的Selenium爬虫 243
12.1 图片爬虫框架 243
12.2 图片网站分析 245
12.2.1 图片爬取方法 245
12.2.2 全景网爬取分析 246
12.3 代码实现 250
12.4 本章小结 254
第13章 用Scrapy技术爬取网络数据 255
13.1 安装Scrapy 255
13.2 快速了解Scrapy 256
13.2.1 Scrapy基础知识 257
13.2.2 Scrapy组成详解及简单示例 259
13.3 用Scrapy爬取贵州农产品数据集 270
13.4 本章小结 285
参考文献 285
套书后记 286
致谢 288