发布时间:2024-01-27 16:30
第1章 Python与网络爬虫1
1.1 Python语言1
1.1.1 什么是Python1
1.1.2 Python的应用现状2
1.2 Python的安装与开发环境配置3
1.2.1 在Windows上安装3
1.2.2 在Ubuntu和Mac OS上安装4
1.2.3 PyCharm的使用5
1.2.4 Jupyter Notebook9
1.3 Python基本语法12
1.3.1 HelloWorld与数据类型12
1.3.2 逻辑语句19
1.3.3 Python中的函数与类22
1.3.4 Python从0到125
1.4 互联网、与HTML25
1.4.1 互联网与25
1.4.2 HTML27
1.5 Hello, Spider!29
1.5.1 个爬虫程序29
1.5.2 对爬虫的思考31
1.6 调研网站33
1.6.1 网站的robots.txt与Sitemap33
1.6.2 查看网站所用技术36
1.6.3 查看网站所有者信息37
1.6.4 使用开发者工具检查网页39
1.7 本章小结42
第2章 数据采集43
2.1 从抓取开始43
2.2 正则表达式44
2.2.1 初见正则表达式44
2.2.2 正则表达式的简单使用46
2.3 BeautifulSoup49
2.3.1 安装与上手49
2.3.2 BeautifulSoup的基本使用52
2.4 XPath与lxml55
2.4.1 XPath55
2.4.2 lxml与XPath的使用57
2.5 遍历页面59
2.5.1 抓取下一个页面59
2.5.2 完成爬虫60
2.6 使用API63
2.6.1 API简介63
2.6.2 API使用示例65
2.7 本章小结68
第3章 文件与数据存储69
3.1 Python中的文件69
3.1.1 基本的文件读写69
3.1.2 序列化72
3.2 字符串72
3.3 Python与图片74
3.3.1 PIL与Pillow74
3.3.2 Python与OpenCV简介76
3.4 CSV文件77
3.4.1 CSV简介77
3.4.2 CSV的读写77
3.5 使用数据库79
3.5.1 使用MySQL80
3.5.2 使用SQLite381
3.5.3 使用SQLAlchemy83
3.5.4 使用Redis85
3.6 其他类型的文档86
3.7 本章小结90
第4章 JavaScript与动态内容91
4.1 JavaScript与AJAX技术91
4.1.1 JavaScript语言91
4.1.2 AJAX95
4.2 抓取AJAX数据96
4.2.1 分析数据96
4.2.2 数据提取100
4.3 抓取动态内容107
4.3.1 动态渲染页面107
4.3.2 使用Selenium107
4.3.3 PyV8与Splash114
4.4 本章小结118
第5章 表单与模拟登录119
5.1 表单119
5.1.1 表单与POST119
5.1.2 POST发送表单数据121
5.2 Cookie124
5.2.1 什么是Cookie124
5.2.2 在Python中使用Cookie125
5.3 模拟登录网站128
5.3.1 分析网站128
5.3.2 通过Cookie模拟登录129
5.4 验证码133
5.4.1 图片验证码133
5.4.2 滑动验证134
5.5 本章小结139
第6章 数据的进一步处理140
6.1 Python与文本分析140
6.1.1 什么是文本分析140
6.1.2 jieba与SnowNLP141
6.1.3 NLTK145
6.1.4 文本分类与聚类149
6.2 数据处理与科学计算150
6.2.1 从MATLAB到Python150
6.2.2 NumPy151
6.2.3 Pandas156
6.2.4 Matplotlib163
6.2.5 SciPy与SymPy167
6.3 本章小结167
第7章 更灵活的爬虫168
7.1 更灵活的爬虫—以微信数据抓取为例168
7.1.1 用Selenium抓取Web微信信息168
7.1.2 基于Python的微信API工具172
7.2 更多样的爬虫175
7.2.1 在BeautifulSoup和XPath之外175
7.2.2 在线爬虫应用平台179
7.2.3 使用urllib181
7.3 爬虫的部署和管理190
7.3.1 配置远程主机190
7.3.2 编写本地爬虫192
7.3.3 部署爬虫198
7.3.4 查看运行结果199
7.3.5 使用爬虫管理框架200
7.4 本章小结203
第8章 浏览器模拟与网站测试204
8.1 关于测试204
8.1.1 什么是测试204
8.1.2 什么是TDD205
8.2 Python的单元测试205
8.2.1 使用unittest205
8.2.2 其他方法208
8.3 使用Python爬虫测试网站209
8.4 使用Selenium测试212
8.4.1 Selenium测试常用的网站交互212
8.4.2 结合Selenium进行单元测试214
8.5 本章小结215
第9章 更强大的爬虫216
9.1 爬虫框架216
9.1.1 Scrapy是什么216
9.1.2 Scrapy安装与入门218
9.1.3 编写Scrapy爬虫221
9.1.4 其他爬虫框架223
9.2 网站反爬虫224
9.2.1 反爬虫的策略224
9.2.2 伪装headers225
9.2.3 使用代理228
9.2.4 访问频率232
9.3 多进程与分布式233
9.3.1 多进程编程与爬虫抓取233
9.3.2 分布式爬虫235
9.4 本章小结235
第10章 爬虫实践:火车票余票实时提醒236
10.1 程序设计236
10.1.1 分析网页236
10.1.2 理解返回的JSON格式数据的意义238
10.1.3 微信消息推送238
10.1.4 运行并查看微信消息243
10.2 本章小结244
第11章 爬虫实践:爬取二手房数据并绘制热力图245
11.1 数据抓取245
11.1.1 分析网页245
11.1.2 地址转换成经纬度247
11.1.3 编写代码248
11.1.4 数据下载结果252
11.2 绘制热力图252
11.3 本章小结259
第12章 爬虫实践:免费IP代理爬虫260
12.1 程序设计260
12.1.1 代理分类260
12.1.2 网站分析261
12.1.3 编写爬虫264
12.1.4 运行并查看结果272
12.2 本章小结273
第13章 爬虫实践:百度文库爬虫274
13.1 程序设计274
13.1.1 分析网页274
13.1.2 编写爬虫280
13.1.3 运行并查看爬取的百度文库文件284
13.2 本章小结284
第14章 爬虫实践:拼多多用户评论数据爬虫285
14.1 程序设计285
14.1.1 分析网页285
14.1.2 编写爬虫288
14.1.3 运行并查看数据库307
14.2 本章小结312
第15章 爬虫实践:Selenium+PyQuery+ MongoDB爬取网易跟帖313
15.1 程序设计313
15.1.1 Selenium介绍314
15.1.2 分析网页320
15.1.3 编写爬虫322
15.1.4 运行并查看MongoDB文件331
15.2 本章小结333