本书为国家职业教育大数据技术专业教学资源库配套教材,也是高等职业教育计算机类课程新形态一体化教材。 本书选择Python 3作为编程环境,系统讲述编写爬虫所需要的各种技术。包括HTTP的原理、urllib和request网络请求库的使用、正则表达式、XPath等数据提取规则的使用和爬虫框架Scrapy的使用,并后通过一个项目招聘分析监控系统数据采集系统将以上技术综合运用起来。 本书配套有微课视频、教学设计、授课用PPT等数字化教学资源。与本书配套的数字课程数据采集与预处理已在智慧职教平台(www.icve.com.cn)上线,学习者可以登录平台进行在线开放课程的学习,授课教师可以调用本课程构建符合自身教学特色的SPOC课程,详见智慧职教服务指南。读者可登录平台进行资源的学习及获取,也可发邮件至编辑邮箱1548103297@qq.com获取相关资源。 本书紧跟信息社会发展动态,内容新颖、结构清晰,具有很强的趣味性和实用性。本书可作为高等职业院校大数据技术专业及其他相关专业的教材,也可作为大数据技术爱好者的自学用书。
第1章 网络爬虫概述
1.1 什么是网络爬虫
1.1.1 网络爬虫的应用领域
1.1.2 网络爬虫的作用
1.2 网络爬虫原理
1.2.1 网络爬虫的基本流程
1.2.2 网络爬虫的数据提取方法
1.3 反爬虫
1.3.1 反爬虫的手段
1.3.2 破解反爬虫的思路
1.4 开发网络爬虫常用的库
1.4.1 Python开发网络爬虫的优势
1.4.2 网络请求库
1.4.3 数据提取库
1.4.4 常用网络爬虫框架
第2章 超文本传送协议(HTTP)分析
2.1 HTTP原理
2.1.1 HTTP简介
2.1.2 HTTP的主要特点
2.1.3 统一资源标识符(URI)
2.1.4 请求数据包
2.1.5 响应数据包
2.2 Chrome浏览器开发者工具使用
2.2.1 打开开发者工具
2.2.2 使用Elements面板分析HTML
2.2.3 使用Network面板分析网络请求
2.2.4 使用Console面板
第3章 uurllib库使用
3.1 获取网页内容
3.1.1 使用urllib库获取网页内容
3.1.2 urlopen参数
3.1.3 Request对象
3.2 发送get请求
3.2.1 get请求的特点
3.2.2 请求参数设置
3.3 发送post请求
3.3.1 post请求的特点
3.3.2 post请求实例
3.4 修改useragent
3.4.1 使用fake-useragent库
3.4.2 设置useragent
3.5 使用代理
3.5.1 代理介绍
3.5.2 使用代理服务器
3.5.3 创建打开器
3.6 使用cookie
3.6.1 cookie和session
3.6.2 使用cookielib
3.6.3 获取登录后的cookie
3.7 显示调试信息
第4章 Requests库的使用
4.1 Requests库
4.1.1 Requests库介绍
4.1.2 Requests库安装
4.2 Requests库基本使用
4.2.1 发送请求
4.2.2 传递URL参数
4.2.3 响应内容
4.2.4 定制请求头
4.2.5 JSON响应内容
4.3 Requests库高级用法
4.3.1 设置代理
4.3.2 使用cookies
4.3.3 session会话对象
4.3.4 安全的HTTPS请求
4.3.5 超时设置
第5章 数据提取
5.1 使用正则表达武
5.1.1 正则表达式语法介绍
5.1.2 正则表达式的其他使用
5.2 使用BeautifulSoup4
5.2.1 BeautifulSoup简介
5.2.2 BeautifulSoup安装
5.2.3 创建BeautifulSoup对象
5.2.4 BeautifulSoup基本使用方法
5.3 使用XPath
5.3.1 lxml库简介和安装
5.3.2 选取节点
5.3.3 节点间的关系
5.3.4 谓语的使用
5.3.5 XPath运算符
第6章 Scrapy爬虫框架
6.1 Scrapy框架简介和安装
6.1.1 Scrapy框架介绍
6.1.2 安装Scrapy框架
6.2 项目创建和项目目录介绍
6.2.1 创建一个网络爬虫项目
6.2.2 项目目录分析
6.3 编写网络爬虫
6.3.1 创建网络爬虫
6.3.2 ScrapyShell的使用
6.3.3 自动翻页
6.4 Item和Pipeline
6.4.1 使用Item
6.4.2 ItemPipeline介绍
6.4.3 编写Pipeline
6.4.4 保存数据到MySQL数据库
6.5 中间件
6.5.1 下载中间件三大函数
6.5.2 激活Spider中间件
6.5.3 开发代理中间件
第7章 API数据采集
7.1 什么是API
7.1.1 HTTP方法及API简介
7.1.2 API响应
7.2 无文档API
7.2.1 查找无文档API
7.2.2 自动查找和记录API
第8章 图像识别与文字处理
8.1 0CR图像识别库
8.1.1 Pillow
8.1.2 OpenCV
8.1.3 Tesseract
8.1.4 NumPy
8.2 处理格式规范的文字
8.2.1 自动调整图像
8.2.2 从网站图片中采集文字
8.3 读取验证码与训练
8.4 获取验证码并提交答案
第9章 远程数据采集
9.1 为什么要用远程服务器
9.1.1 避免IP地址被封杀
9.1.2 移植性与扩展性
9.2 远程主机
9.2.1 从网站主机运行
9.2.2 从云主机运行
……
第10章 网页数据采集的法律与道德约束
第11章 项目实战:招聘分析监控系统-数据采集子系统
参考文献