第1章 Python零基础语法入门 1
1.1Python与PyCharm安装 1
1.1.1Python安装(Windows、Mac和Linux) 1
1.1.2PyCharm安装 3
1.2变量和字符串 3
1.2.1变量 4
1.2.2字符串的“加法”和“乘法” 4
1.2.3字符串的切片和索引 5
1.2.4字符串方法 5
1.3函数与控制语句 7
1.3.1函数 7
1.3.2判断语句 8
1.3.3循环语句 8
1.4Python数据结构 9
1.4.1列表 9
1.4.2字典 11
1.4.3元组和集合 11
1.5Python文件操作 11
1.5.1打开文件 11
1.5.2读写文件 12
1.5.3关闭文件 13
1.6Python面向对象 13
1.6.1定义类 14
1.6.2实例属性 14
1.6.3实例方法 15
1.6.4类的继承 16
第2章 爬虫原理和网页构造 17
2.1爬虫原理 17
2.1.1网络连接 17
2.1.2爬虫原理 18
2.2网页构造 21
2.2.1Chrome浏览器的安装 21
2.2.2网页构造 22
2.2.3查询网页信息 23
第3章 我的第一个爬虫程序 26
3.1Python第三方库 26
3.1.1Python第三方库的概念 26
3.1.2Python第三方库的安装方法 27
3.1.3Python第三方库的使用方法 29
3.2爬虫三大库 30
3.2.1Requests库 30
3.2.2BeautifulSoup库 32
3.2.3Lxml库 36
3.3综合案例1——爬取北京地区短租房信息 37
3.3.1爬虫思路分析 37
3.3.2爬虫代码及分析 38
3.4综合案例2——爬取酷狗TOP500的数据 41
3.4.1爬虫思路分析 41
3.4.2爬虫代码及分析 43
第4章 正则表达式 45
4.1正则表达式常用符号 45
4.1.1一般字符 45
4.1.2预定义字符集 46
4.1.3数量词 46
4.1.4边界匹配 47
4.2re模块及其方法 48
4.2.1search()函数 48
4.2.2sub()函数 49
4.2.3fiindall()函数 49
4.2.4re模块修饰符 51
4.3综合案例1——爬取《斗破苍穹》全文小说 53
4.3.1爬虫思路分析 53
4.3.2爬虫代码及分析 55
4.4综合案例2——爬取糗事百科网的段子信息 56
4.4.1爬虫思路分析 56
4.4.2爬虫代码及分析 58
第5章 Lxml库与Xpath语法 63
5.1Lxml库的安装与使用方法 63
5.1.1Lxml库的安装(Mac、Linux) 63
5.1.2Lxml库的使用 68
5.2Xpath语法 68
5.2.1节点关系 68
5.2.2节点选择 70
5.2.3使用技巧 70
5.2.4性能对比 74
5.3综合案例1——爬取豆瓣网图书TOP250的数据 77
5.3.1将数据存储到CSV文件中 77
5.3.2爬虫思路分析 78
5.3.3爬虫代码及分析 80
5.4综合案例2——爬取起点中文网小说信息 83
5.4.1将数据存储到Excel文件中 83
5.4.2爬虫思路分析 84
5.4.3爬虫代码及分析 86
第6章 使用API 88
6.1API的使用 88
6.1.1API概述 88
6.1.2API使用方法 89
6.1.3API验证 91
6.2解析JSON数据 93
6.2.1JSON解析库 93
6.2.2斯必克API调用 94
6.2.3百度地图API调用 96
6.3综合案例1——爬取PEXELS图片 98
6.3.1图片爬取方法 98
6.3.2爬虫思路分析 99
6.3.3爬虫代码及分析 100
6.4综合案例2——爬取糗事百科网的用户地址信息 102
6.4.1地图的绘制 102
6.4.2爬取思路分析 105
6.4.3爬虫代码及分析 106
第7章 数据库存储 109
7.1MongoDB数据库 109
7.1.1NoSQL概述 109
7.1.2MongoDB的安装 109
7.1.3MongoDB的使用 115
7.2MySQL数据库 117
7.2.1关系型数据库概述 117
7.2.2MySQL的安装 117
7.2.3MySQL的使用 123
7.3综合案例1——爬取豆瓣音乐TOP250的数据 126
7.3.1爬虫思路分析 126
7.3.2爬虫代码及分析 127
7.4综合案例2——爬取豆瓣电影TOP250的数据 132
7.4.1爬虫思路分析 132
7.4.2爬虫代码及分析 133
第8章 多进程爬虫 139
8.1多线程与多进程 139
8.1.1多线程和多进程概述 139
8.1.2多进程使用方法 140
8.1.3性能对比 140
8.2综合案例1——爬取简书网热评文章 143
8.2.1爬虫思路分析 143
8.2.2爬虫代码及分析 147
8.3综合案例2——爬取转转网二手市场商品信息 150
8.3.1爬虫思路分析 150
8.3.2爬虫代码及分析 152
第9章 异步加载 159
9.1异步加载技术与爬虫方法 159
9.1.1异步加载技术概述 159
9.1.2异步加载网页示例 159
9.1.3逆向工程 162
9.2综合案例1——爬取简书网用户动态信息 165
9.2.1爬虫思路分析 165
9.2.2爬虫代码及分析 171
9.3综合案例2——爬取简书网7日热门信息 173
9.3.1爬虫思路分析 173
9.3.2爬虫代码及分析 179
第10章 表单交互与模拟登录 182
10.1表单交互 182
10.1.1POST方法 182
10.1.2查看网页源代码提交表单 182
10.1.3逆向工程提交表单 185
10.2模拟登录 187
10.2.1Cookie概述 187
10.2.2提交Cookie模拟登录 187
10.3综合案例1——爬取拉勾网招聘信息 188
10.3.1爬虫思路分析 188
10.3.2爬虫代码及分析 193
10.4综合案例2——爬取新浪微博好友圈信息 195
10.4.1词云制作 195
10.4.2爬虫思路分析 202
10.4.3爬虫代码及分析 206
第11章 Selenium模拟浏览器 209
11.1Selenium和PhantomJS 209
11.1.1Selenium的概念和安装 209
11.1.2浏览器的选择和安装 209
11.2Selenium和PhantomJS的配合使用 213
11.2.1模拟浏览器操作 213
11.2.2获取异步加载数据 215
11.3综合案例1——爬取QQ空间好友说说 218
11.3.1CSV文件读取 218
11.3.2爬虫思路分析 220
11.3.3爬虫代码及分析 221
11.4综合案例2——爬取淘宝商品信息 224
11.4.1爬虫思路分析 224
11.4.2爬虫代码及分析 226
第12章 Scrapy爬虫框架 229
12.1Scrapy的安装和使用 229
12.1.1Scrapy的安装 229
12.1.2创建Scrapy项目 233
12.1.3Scrapy文件介绍 235
12.1.4Scrapy爬虫编写 237
12.1.5Scrapy爬虫运行 239
12.2综合案例1——爬取简书网热门专题信息 240
12.2.1爬虫思路分析 240
12.2.2爬虫代码及分析 244
12.3综合案例2——爬取知乎网Python精华话题 246
12.3.1爬虫思路分析 246
12.3.2爬虫代码及分析 248
12.4综合案例3——爬取简书网专题收录文章 250
12.4.1爬虫思路分析 251
12.4.2爬虫代码及分析 254
12.5综合案例4——爬取简书网推荐信息 257
12.5.1爬虫思路分析 258
12.5.2爬虫代码及分析 260