python基础实例教程 微课版-Python爬虫开发实战教程(微课版)

第1章 静态网页爬虫 1

1.1 爬虫的基本概念和工作原理 2

1.1.1 什么是网络爬虫 2

1.1.2 爬虫的结构与工作流程 3

1.2 爬虫抓包分析 4

1.2.1 使用Chrome浏览器进行抓包分析 4

1.2.2 使用Fiddler进行抓包分析 11

1.3 Requests库的基本使用方法 22

1.3.1 安装Requests库 22

1.3.2 通过Requests发送GET请求 22

1.3.3 在GET请求中添加参数 29

1.3.4 发送POST请求 29

1.3.5 获取请求的状态码 30

1.3.6 指定请求时使用的headers及动态更新headers 31

1.3.7 指定Cookies和动态更新Cookies 32

1.3.8 使用session对象保持会话状态 34

1.4 网页解析利器XPath、CSS-Selector和正则表达式语法 35

1.4.1 XPath的基本语法及使用 35

1.4.2 常见相对路径引用 37

1.4.3 XPath进阶应用 38

1.4.4 CSS-Selector的基本语法及使用 40

1.4.5 正则表达式的基本语法及使用 41

1.5 常见爬虫爬取策略 43

1.5.1 宽度优先搜索策略 44

1.5.2 深度优先搜索策略 45

1.6 常见网页URL和内容去重策略 48

1.6.1 去重策略的使用场景 48

1.6.2 常见爬虫去重策略 48

1.6.3 BloomFilter算法 49

1.6.4 内容去重策略的实现 52

1.7 实战:编写一个基于静态网页的爬虫 52

第2章 常见反爬措施及解决方案 65

2.1 常见反爬手段——身份验证 66

2.1.1 使用登录的Cookies获取数据 66

2.1.2 模拟登录请求 71

2.1.3 使用Selenium模拟登录 74

2.2 常见反爬手段——验证码 76

2.2.1 验证码反爬原理 76

2.2.2 常见验证码类型 77

2.2.3 常见验证码处理方式 77

2.3 常见反爬手段——速度、数量限制 87

2.3.1 服务器对速度、数量限制反爬的原理和手段 87

2.3.2 针对反爬限速、频次限制的突破手段 87

2.4 自己动手搭建IP代理池 88

2.4.1 创建IP代理池的基本要求 89

2.4.2 IP代理池基本架构 89

2.4.3 相关组件的安装 90

2.4.4 同步I/O和异步I/O的概念和区别 97

2.4.5 在Python中如何实现异步I/O 98

2.5 常见反爬手段——异步动态请求 105

2.6 常见反爬手段——JS加密请求参数 110

第3章 自己动手编写一个简单的爬虫框架 122

3.1 简单爬虫框架的结构 123

3.2 编写URL管理器 124

3.3 编写资源下载器 125

3.4 编写HTML解析器 126

3.5 编写资源存储器 128

3.6 编写爬虫调度器 128

第4章 Scrapy框架应用 131

4.1 Scrapy的相关概念与原理 132

4.2 安装Scrapy框架 134

4.2.1 在Windows中安装Scrapy 134

4.2.2 在Linux中安装Scrapy 136

4.2.3 在MacOS中安装Scrapy 136

4.3 创建第一个Scrapy项目 137

4.3.1 创建Scrapy项目 137

4.3.2 Scrapy项目的结构 137

4.3.3 定义爬虫文件 138

4.4 在PyCharm中运行和调试Scrapy项目 142

4.4.1 在PyCharm中运行Scrapy项目 143

4.4.2 在PyCharm中调试Scrapy项目 144

4.5 使用Scrapy进行请求间数据传递 146

4.6 Scrapy命令行用法详解 152

4.7 常用Scrapy组件的用法 160

4.7.1 定义数据Item 160

4.7.2 利用Item Pipeline将数据持久化 162

4.7.3 编写Item Pipeline 163

4.7.4 中间件的用法 173

4.8 Scrapy中对同一项目不同的Spider启用不同的配置 178

4.9 Scrapy分布式爬虫的运行原理 182

4.9.1 实现多机分布式爬取的关键 182

4.9.2 源码解读之connection.py 184

4.9.3 源码解读之dupefilter.py 184

4.9.4 源码解读之pipelines.py 185

4.9.5 源码解读之queue.py 186

4.9.6 源码解读之scheduler.py 187

4.9.7 源码解读之spider.py 188

4.10 利用Scrapy+Redis进行分布式爬虫

实践 190

4.10.1 运行环境准备 190

4.10.2 修改Scrapy项目配置及相关源码 191

4.10.3 部署到不同的从机中 192

4.10.4 其他可选配置参数 192

第5章 爬虫数据分析及可视化 193

5.1 安装Jupyter Notebook和Highcharts库 194

5.1.1 Jupyter Notebook 194

5.1.2 使用Jupyter Notebook的原因 195

5.1.3 Jupyter Notebook的安装和配置 195

5.1.4 安装过程中可能遇到的错误 196

5.1.5 Jupyter Notebook的常用设置 198

5.1.6 Highcharts库的安装和配置 198

5.2 熟悉Jupyter Notebook的基本用法 199

5.2.1 创建一个新的Notebook文件 199

5.2.2 在Jupyter Notebook中运行代码 200

5.2.3 在Jupyter Notebook中编写Markdown格式文档 202

5.3 熟悉Highcharts库的基本用法 203

5.3.1 Highcharts的基本组成 203

5.3.2 Python charts库的基本使用 204

5.3.3 charts的option属性设置 207

5.4 利用Jupyter Notebook和Highcharts实现数据分析和展示 209

5.4.1 数据分析的流程 210

5.4.2 数据分析实践 210

5.5 利用词云实现可视化效果 213

5.5.1 jieba分词器 213

5.5.2 jieba分词器的特点及安装方法 214

5.5.3 wordcloud词云组件 215

5.5.4 利用蜗牛笔记数据生成词云 218

参考文献 222

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值