前言
第1篇 基础知识
第1章 开发环境配置
1.1 安装官方的Python运行环境
1.2 配置PATH环境变量
1.3 安装AnacondaPython开发环境
1.4 安装PyCharm
1.5 配置PyCharm
1.6 小结
第2章 爬虫基础
2.1 HTTP基础
2.1.1 URI和URL
2.1.2 超文本
2.1.3 HTTP与HTTPS
2.1.4 HTTP的请求过程
2.1.5 请求
2.1.6 响应
2.2 网页基础
2.2.1 HTML
2.2.2 CSS
2.2.3 CSS选择器
2.2.4 JavaScript
2.3 爬虫的基本原理
2.3.1 爬虫的分类
2.3.2 爬虫抓取数据的方式和手段
2.4 Session与Cookie
2.4.1 静态页面和动态页面
2.4.2 无状态HTTP与Cookie
2.4.3 利用Session和Cookie保持状态
2.4.4 查看网站的Cookie
2.4.5 HTTP状态何时会失效
2.5 实战案例:抓取所有的网络资源
2.6 实战案例:抓取博客文章列表
2.7 小结
第2篇 网络库
第3章 网络库urllib
3.1 urllib简介
3.2 发送请求与获得响应
3.2.1 用urlopen函数发送HTTPGET请求
3.2.2 用urlopen函数发送HTTPPOST请求
3.2.3 请求超时
3.2.4 设置HTTP请求头
3.2.5 设置中文HTTP请求头
3.2.6 请求基础验证页面
3.2.7 搭建代理与使用代理
3.2.8 读取和设置Cookie
3.3 异常处理
3.3.1 URLError
3.3.2 HTTPError
3.4 解析链接
3.4.1 拆分与合并URL(urlparse与urlunparse)
3.4.2 另一种拆分与合并URL的方式(urlsplit与urlunsplit)
3.4.3 连接URL(urljoin)
3.4.4 URL编码(urlencode)
3.4.5 编码与解码(quote与unquote)
3.4.6 参数转换(parse_qs与parse_qsl)
3.5 Robots协议
3.5.1 Robots协议简介
3.5.2 分析Robots协议
3.6 小结
第4章 网络库u川ib3
4.1 urllib3简介
4.2 urllib3模块
4.3 发送HTTPGET请求
4.4 发送HTTPPOST请求
4.5 HTTP请求头
4.6 HTTP响应Z头
4.7 上传文件
4.8 超时
4.9 小结
第5章 网络库requests
5.1 基本用法
5.1.1 requests的HelIoWorld
5.1.2 GET请求
5.1.3 添加HTTP请求头
5.1.4 抓取二进制数据
5.1.5 POST请求
5.1.6 响应数据
5.2 高级用法
5.2.1 上传文件
5.2.2 处理Cookie
5.2.3 使用同一个会话(Session)
5.2.4 SSL证书验证
5.2.5 使用代理
5.2.6 超时
5.2.7 身份验证
5.2.8 将请求打包
5.3 小结
第6章 Twisted网络框架
……
第3篇 解析库
第4篇 数据存储
第5篇 爬虫高级应用