前言
第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.2 Xpath语法 68
5.3 综合案例1——爬取豆瓣网图书TOP250的数据 77
5.4 综合案例2——爬取起点中文网小说信息 83
第6章 使用API 88
6.1 API的使用 88
6.2 解析JSON数据 93
6.3 综合案例1——爬取PEXELS图片 98
6.4 综合案例2——爬取糗事百科网的用户地址信息 102
第7章 数据库存储 109
7.1 MongoDB数据库 109
7.2 MySQL数据库 117
7.3 综合案例1——爬取豆瓣音乐TOP250的数据 126
7.4 综合案例2——爬取豆瓣电影TOP250的数据 132
第8章 多进程爬虫 139
8.1 多线程与多进程 139
8.2 综合案例1——爬取简书网热评文章 143
8.3 综合案例2——爬取转转网二手市场商品信息 150
第9章 异步加载 159
9.1 异步加载技术与爬虫方法 159
9.2 综合案例1——爬取简书网用户动态信息 165
9.3 综合案例2——爬取简书网7日热门信息 173
第10章 表单交互与模拟登录 182
10.1 表单交互 182
10.2 模拟登录 187
10.3 综合案例1——爬取拉勾网招聘信息 188
10.4 综合案例2——爬取新浪微博好友圈信息 195
第11章 Selenium模拟浏览器 209
11.1 Selenium和PhantomJS 209
11.2 Selenium和PhantomJS的配合使用 213
11.3 综合案例1——爬取QQ空间好友说说 218
11.4 综合案例2——爬取淘宝商品信息 224
第12章 Scrapy爬虫框架 229
12.1 Scrapy的安装和使用 229
12.2 综合案例1——爬取简书网热门专题信息 240
12.3 综合案例2——爬取知乎网Python精华话题 246
12.4 综合案例3——爬取简书网专题收录文章 250
12.5 综合案例4——爬取简书网推荐信息 257