封面
版权信息
内容提要
前言
基础篇
第1章 Python基础及网络爬虫
1.1 了解Python语言
1.1.1 Python是什么
1.1.2 Python的应用现状
1.2 配置安装Python开发环境
1.2.1 在Windows上安装
1.2.2 在Ubuntu和macOS上安装
1.2.3 IDE的使用:以PyCharm为例
1.2.4 Jupyter Notebook简介
1.3 Python基础知识
1.3.1 “Hello World!”与数据类型
1.3.2 逻辑语句
1.3.3 Python中的函数与类
1.3.4 更深入了解Python
1.4 互联网、HTTP与HTML
1.4.1 互联网与HTTP
1.4.2 HTML
1.5 Hello Spider
1.5.1 编写第一个爬虫程序
1.5.2 对爬虫的思考
1.6 分析网站
1.6.1 robots.txt与Sitemap简介
1.6.2 网站技术分析
1.6.3 网站所有者信息分析
1.6.4 使用开发者工具检查目标网页
章节实训:Python环境的配置与爬虫的运行
思考与练习
第2章 静态网页抓取
2.1 从抓取开始
2.2 正则表达式
2.2.1 什么是正则表达式
2.2.2 正则表达式的简单使用
2.3 BeautifulSoup爬虫
2.3.1 安装BeautifulSoup
2.3.2 BeautifulSoup的基本用法
2.4 XPath与lxml
2.4.1 XPath
2.4.2 lxml与XPath的使用
2.5 遍历页面
2.5.1 抓取下一个页面
2.5.2 完成爬虫
2.6 使用API
2.6.1 API简介
2.6.2 API使用示例
章节实训:哔哩哔哩直播间信息抓取练习
思考与练习
第3章 数据存储
3.1 Python中的文件
3.1.1 Python中的文件读写
3.1.2 对象序列化
3.2 Python中的字符串
3.3 Python中的图片
3.3.1 PIL与Pillow模块
3.3.2 Python与OpenCV简介
3.4 CSV文件
3.4.1 CSV简介
3.4.2 CSV的读写
3.5 数据库的使用
3.5.1 MySQL的使用
3.5.2 SQLite 3的使用
3.5.3 SQLAlchemy的使用
3.5.4 Redis的使用
3.5.5 MongoDB的使用
3.6 其他类型的文档
章节实训:使用Python 3读写SQLite 3数据库
思考与练习
进阶篇
第4章 JavaScript与动态内容
4.1 JavaScript与AJAX技术
4.1.1 JavaScript语言
4.1.2 AJAX
4.2 抓取AJAX数据
4.2.1 分析数据
4.2.2 数据提取
4.3 抓取动态内容
4.3.1 动态渲染页面
4.3.2 使用Selenium
4.3.3 PyV8与Splash
章节实训:抓取人民邮电出版社热销图书信息
思考与练习
第5章 模拟登录与验证码
5.1 表单
5.1.1 表单与POST
5.1.2 POST发送表单数据
5.2 Cookie
5.2.1 Cookie简介
5.2.2 在Python中Cookie的使用
5.3 模拟登录网站
5.3.1 分析网站
5.3.2 Cookie方法的模拟登录
5.4 验证码
5.4.1 图片验证码
5.4.2 滑动验证
章节实训:通过Selenium模拟登录Gitee并保存Cookie
思考与练习
第6章 爬虫数据的分析与处理
6.1 Python与文本分析
6.1.1 文本分析简介
6.1.2 jieba与SnowNLP
6.1.3 NLTK
6.1.4 文本分类与聚类
6.2 数据处理与科学计算
6.2.1 从MATLAB到Python
6.2.2 NumPy
6.2.3 Pandas
6.2.4 Matplotlib
6.2.5 Scipy与SymPy
章节实训:美国新冠疫情每日新增人数的可视化
思考与练习
提高篇
第7章 爬虫的灵活性和多样性
7.1 爬虫的灵活性——以微信数据抓取为例
7.1.1 用Selenium抓取网页版微信数据
7.1.2 基于Python的微信API工具
7.2 爬虫的多样性
7.2.1 在BeautifulSoup和XPath之外
7.2.2 在线爬虫应用平台
7.2.3 使用urllib
7.3 爬虫的部署和管理
7.3.1 使用服务器部署爬虫
7.3.2 本地爬虫程序的编写
7.3.3 爬虫的部署
7.3.4 实时查看运行结果
7.3.5 使用框架管理爬虫
章节实训:基于PyQuery抓取菜鸟教程
思考与练习
第8章 Selenium模拟浏览器与网站测试
8.1 测试
8.1.1 什么是测试
8.1.2 什么是TDD
8.2 Python的单元测试
8.2.1 使用unittest
8.2.2 其他方法
8.3 使用Python网络爬虫测试网站
8.4 使用Selenium测试
8.4.1 使用Selenium测试常用的网站交互
8.4.2 结合Selenium进行单元测试
章节实训:使用Selenium抓取百度搜索引擎中关于“爬虫”的结果
思考与练习
第9章 爬虫框架Scrapy与反爬虫
9.1 爬虫框架
9.1.1 Scrapy简介
9.1.2 安装与学习Scrapy
9.1.3 Scrapy爬虫编写
9.1.4 其他爬虫框架介绍
9.2 网站反爬虫
9.2.1 反爬虫策略简介
9.2.2 伪装headers
9.2.3 代理IP的使用
9.2.4 控制访问频率
章节实训:使用“反反爬虫”策略抓取某日报网头版的标题内容
思考与练习
实战篇
第10章 实战:保存感兴趣的图片
10.1 豆瓣网分析与爬虫设计
10.1.1 从需求出发
10.1.2 处理登录问题
10.2 编写爬虫程序
10.2.1 爬虫脚本
10.2.2 程序分析
10.2.3 运行并查看结果
第11章 实战:抓取二手房数据并绘制热力图
11.1 数据抓取
11.1.1 网页分析
11.1.2 代码编写
11.1.3 运行并查看结果
11.2 绘制热力图
第12章 实战:北京大兴国际机场航班出发时间数据抓取
12.1 程序设计
12.1.1 网页分析
12.1.2 将数据保存到数据库
12.2 爬虫编写
12.2.1 前置准备
12.2.2 代码编写
12.2.3 运行并查看结果
参考文献
更新时间:2023-10-25 19:34:57