转载至: https://www.jb51.net/books/648116.html
下载链接: 点我一键跳转到 下载链接
下载声明: 本资料仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!
目前,图书市场上仅有的几本Python网络爬虫类图书,要么是国外优秀图书,但书籍翻译隐晦,阅读难度大,而且往往由于网络原因,使得书中的案例不能正常使用,因此不适合初学者;要么是国内资料,但质量参差不齐,而且不成系统,同样不适合初学者。整个图书市场上还鲜见一本适合初学者阅读的Python网络爬虫类图书。本书便是基于这个原因而编写。本书从Python语言基础讲起,然后深入浅出地介绍了爬虫原理、各种爬虫技术及22个爬虫实战案例。本书全部选用国内网站作为爬虫案例,便于读者理解和实现,同时也可以大大提高读者对Python网络爬虫项目的实战能力。
前言
第1章 Python零基础语法入门 1
1.1 Python与PyCharm安装 1
1.1.1 Python安装(Windows、Mac和Linux) 1
1.1.2 PyCharm安装 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.4 Python数据结构 9
1.4.1 列表 9
1.4.2 字典 11
1.4.3 元组和集合 11
1.5 Python文件操作 11
1.5.1 打开文件 11
1.5.2 读写文件 12
1.5.3 关闭文件 13
1.6 Python面向对象 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.1 Chrome浏览器的安装 21
2.2.2 网页构造 22
2.2.3 查询网页信息 23
第3章 我的第一个爬虫程序 26
3.1 Python第三方库 26
3.1.1 Python第三方库的概念 26
3.1.2 Python第三方库的安装方法 27
3.1.3 Python第三方库的使用方法 29
3.2 爬虫三大库 30
3.2.1 Requests库 30
3.2.2 BeautifulSoup库 32
3.2.3 Lxml库 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.2 re模块及其方法 48
4.2.1 search()函数 48
4.2.2 sub()函数 49
4.2.3 findall()函数 49
4.2.4 re模块修饰符 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.1 Lxml库的安装与使用方法 63
5.1.1 Lxml库的安装(Mac、Linux) 63
5.1.2 Lxml库的使用 64
5.2 Xpath语法 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.1 API的使用 88
6.1.1 API概述 88
6.1.2 API使用方法 89
6.1.3 API验证 91
6.2 解析JSON数据 93
6.2.1 JSON解析库 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.1 MongoDB数据库 109
7.1.1 NoSQL概述 109
7.1.2 MongoDB的安装 109
7.1.3 MongoDB的使用 115
7.2 MySQL数据库 117
7.2.1 关系型数据库概述 117
7.2.2 MySQL的安装 117
7.2.3 MySQL的使用 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.1 POST方法 182
10.1.2 查看网页源代码提交表单 182
10.1.3 逆向工程提交表单 185
10.2 模拟登录 187
10.2.1 Cookie概述 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.1 Selenium和PhantomJS 209
11.1.1 Selenium的概念和安装 209
11.1.2 浏览器的选择和安装 209
11.2 Selenium和PhantomJS的配合使用 213
11.2.1 模拟浏览器操作 213
11.2.2 获取异步加载数据 215
11.3 综合案例1——爬取QQ空间好友说说 218
11.3.1 CSV文件读取 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.1 Scrapy的安装和使用 229
12.1.1 Scrapy的安装 229
12.1.2 创建Scrapy项目 233
12.1.3 Scrapy文件介绍 235
12.1.4 Scrapy爬虫编写 237
12.1.5 Scrapy爬虫运行 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