前言
第1章 网络爬虫概述
1.1 网络基础
1.1.1 网络的基本概念
1.1.2 HTTP
1.1.3 会话机制
1.2 网页知识
1.2.1 HTML
1.2.2 CSS
1.2.3 JavaScript
1.3 网络爬虫的原理
1.3.1 网络爬虫概述
1.3.2 Robots协议
1.3.3 网络爬虫框架
第2章 C#编程基础
2.1 C#语言概述
2.1.1 C#与.NET框架
2.1.2 开发环境
2.1.3 语言生态
2.2 数据和运算
2.2.1 C#数据类型
2.2.2 常用运算符
2.3 流程控制
2.3.1 分支结构
2.3.2 循环结构
2.4 常用数据结构
2.4.1 字符串
2.4.2 数组
2.4.3 列表
2.4.4 字典
第3章 网络资源下载
3.1 同步下载
3.1.1 网页下载
3.1.2 编码检测
3.1.3 参数设置
3.2 异步下载
3.2.1 实现方式
3.2.2 性能分析
3.3 通用资源下载器
3.3.1 下载器的设计
3.3.2 下载器的实现
第4章 网页数据抽取
4.1 正则表达式抽取
4.1.1 正则表达式简介
4.1.2 使用Regex类
4.2 XPath抽取
4.2.1 XPath简介
4.2.2 使用HtmlAgilityPack
4.3 HTML解析器
4.4 综合实例:新闻资讯爬虫
4.4.1 爬虫设计
4.4.2 爬虫实现
第5章 其他数据抽取
5.1 XML数据抽取
5.1.1 XML简介
5.1.2 使用System.Xml
5.2 JSON数据抽取
5.2.1 JSON简介
5.2.2 使用Newtonsoft.Json
5.3 综合实例1:天气爬虫
5.3.1 问题描述与分析
5.3.2 爬虫设计
5.3.3 爬虫实现
5.4 综合实例2:音乐爬虫
5.4.1 问题描述
5.4.2 逆向分析
5.4.3 爬虫设计
5.4.4 爬虫实现
第6章 数据存储
6.1 数据的维度
6.2 文件存储
6.2.1 低维数据存储
6.2.2 高维数据存储
6.3 数据库存储
6.3.1 MySQL的安装和配置
6.3.2 将数据存入MySQL
第7章 爬虫控制
7.1 爬虫搜索方式
7.1.1 深度优先搜索
7.1.2 广度优先搜索
7.1.3 性能分析
7.2 爬虫控制器
7.2.1 控制器设计
7.2.2 控制器的实现
7.2.3 实时控制器
7.3 综合实例:站内文章爬虫
7.3.1 爬虫设计
7.3.2 爬虫实现
7.3.3 爬虫测试
第8章 多线程爬虫
8.1 多线程机制
8.1.1 Thread对象
8.1.2 BackgroundWorker控件
8.1.3 系统线程池
8.2 多线程爬虫
8.2.1 实现方法
8.2.2 性能对比
8.3 自定义线程池
8.3.1 线程池设计
8.3.2 线程池实现
8.3.3 性能测试
8.4 多线程爬虫控制器
8.4.1 多线程控制器实现
8.4.2 访问序列分析
第9章 使用代理
9.1 代理机制
9.1.1 使用WebProxy对象
9.1.2 使用全局代理
9.2 自定义代理池
9.2.1 代理池设计
9.2.2 代理池实现
第10章 模拟浏览器
10.1 浏览器的工作原理
10.1.1 网页解析过程
10.1.2 常见的浏览器内核
10.2 使用浏览器内核
10.2.1 Trident内核
10.2.2 Gecko内核
10.3 综合实例:网页翻译爬虫
10.3.1 问题描述
10.3.2 爬虫设计
10.3.3 爬虫实现
10.3.4 算法改进
第11章 可视化模板配置
11.1 可视化模板配置方法
11.1.1 抽取原理
11.1.2 模板表示
11.1.3 可视化配置
11.2 综合实例:可视化网页文章爬虫
11.2.1 爬虫设计
11.2.2 爬虫实现
参考文献
展开