资源详情

Python3爬虫实战——数据清洗、数据分析与可视化

Python3爬虫实战——数据清洗、数据分析与可视化-电子书下载


作者: 姚良
出版社: 中国铁道出版社
副标题: 数据清洗、数据分析与可视化
出版年: 2019-10
页数: 268
定价: 59.8元
装帧: 平装
ISBN: 9787113260590

下载次数:10


本站推荐

书籍资料

  • 内容简介
  • 作者介绍
  • 书籍目录

作为一个自学爬虫的过来人,曾经走过很多弯路,在自学的道路上也迷茫过。每次面对一个全新的网站,都像是踏进一个未知的世界。你不知道前面有哪些反爬手段在等着你;你不知道你会踩进哪个坑里。我做爬虫的几年时间里,爬过很多的网站、遇到过很多的难题。这本书就是我这几年经验的总结,从开始的工具的学习使用,到实战项目的爬取,难度一步一步的升级,需求也越来越复杂,有各式各样的爬取方式。
本书主要内容与数据爬取相关,包括编写爬虫所需要的基础编程知识,如Requests包、Scrapy框架和数据库的使用,到项目实战教程,适合Python基础入门的读者。如果你是其他行业的从业者,想进入IT行业成为一位爬虫工程师,又或者你已经是IT行业的从业者,本书在能够让你在对爬虫工程师的工作内容有所了解的同时,也能让你掌握作为一个爬虫工程师所需要具备的基础技能。

姚良 2016-2019 深圳丝路天地电子商务有限公司 爬虫工程师。熟练使用Python语法,面向对象编程,JS破解、分布式爬虫、Scrapy框架、Requests库、Redis、Mongodb、高并发、异步编程。

第一篇基础知识
第1章 Python环境搭建
1.1Python的安装2
1.1.1Windows下Python的安装2
1.1.2MacOSX下Python的安装3
1.1.3Linux下Python的安装3
1.1.4安装pip工具4
1.2虚拟环境Virtualenv5
1.2.1Virtualenv的安装5
1.2.2创建虚拟环境5
1.2.3激活虚拟环境5
1.2.4创建指定Python版本的虚拟环境5
1.3选择合适的编辑器6
1.3.1Vim6
1.3.2Atom6
1.3.3SublimeText6
1.3.4Notepad++6
1.3.5Pycharm6
第2章 常用爬虫库Requests
2.1安装Requests7
2.1.1用pip安装7
2.1.2用github源码安装7
2.1.3用curl安装7
2.2了解Requests的功能8
2.2.1使用GET和P

ST发送请求8
2.2.2通过URL传递参数9
2.2.3设置超时9
2.2.4查看返回内容9
2.2.5设置请求头10
2.2.6更多复杂的Post请求10
2.2.7返回对象状态码12
2.2.8设置代理IP13
2.3BeautifulSoup的安装和使用14
2.3.1使用pip安装BeautifulSoup14
2.3.2使用BeautifulSoup定位元素14
2.4初识自动化测试工具Selenium15
2.4.1Selenium安装15
2.4.2使用Selnium爬取网站15
2.5Selenium定位元素16
2.5.1通过属性定位17
2.5.2通过xpath定位17
2.6Selenium反爬设置18
2.6.1设置请求头18
2.6.2设置代理IP19
第3章 常用爬虫框架Scrapy
3.1认识Scrapy21
3.1.1Scrapy爬取quotes简单示例21
3.1.2安装所需依赖包23
3.1.3使用虚拟环境23
3.2Scrapyshell的使用24
3.2.1运行shell24
3.2.2使用Scrapyshell爬取Scrapy.org24
3.2.3爬虫调用shell26
3.3使用Scrapy爬取quotes26
3.3.1创建Scrapy项目并新建爬虫27
3.3.2爬取和提取数据27
3.3.3通过脚本运行Scrapy爬虫29
3.3.4在同一进程下运行多个爬虫29
3.3.5简易的分布式爬虫思路30
3.3.6防止爬虫被ban31
3.4setting基本配置31
3.5Pipeline模块32
3.5.1爬取文字板块32
3.5.2编写Pipeline模块35
3.5.3通过Pipeline将数据写入MongoDB数据库36
3.5.4ImagesPipeline处理图片37
3.5.5FilePipeline下载文件40
3.6Middleware中间件41
3.6.1DownloaderMiddleware41
3.6.2随机请求头中间件42
3.6.3更换代理IP中间件45
3.6.4通过DownloaderMiddleware使用Selenium46
3.6.5SpiderMiddleware47
3.7新功能拓展48
3.7.1信号signals48
3.7.2自定义拓展51
第4章 数据存储——数据库的选择
4.1MySQL数据库53
4.1.1MySQL的安装53
4.1.2几款可视化工具54
4.1.3数据库连接55
4.1.4数据库插入操作55
4.1.5数据库查询56
4.1.6数据库更新操作56
4.1.7爬取写入数据库57
4.2MongoDB数据库58
4.2.1MongoDB安装58
4.2.2连接数据库59
4.2.3查询数据库59
4.2.4插入和更新数据库59
4.2.5爬取数据并插入到MongoDB数据库中60
4.3Redis数据库60
4.3.1Redis安装60
4.3.2连接Redis数据库61
4.3.3Python操作Redis数据库61
4.3.4爬取并写入Redis做缓存62
第5章 效率为王——分布式爬虫
5.1什么是分布式爬虫64
5.1.1分布式爬虫的效率64
5.1.2实现分布式的方法64
5.2Celery65
5.2.1Celery入门65
5.2.2Celery分布式爬虫66
5.3使用Scrapy-redis的分布式爬虫67
5.3.1Scrapy-redis安装与入门67
5.3.2创建Scrapy-redis爬虫项目68
第6章 抓包的使用与分析
6.1利用抓包分析目标网站72
6.1.1如何抓包72
6.1.2网页抓包分析72
6.2手机APP抓包74
6.2.1使用fiddler抓包75
6.2.2HTTPS证书安装75
6.2.3booking手机端抓包76
第7章 Websocket通信网站爬取
7.1什么是Websocket79
7.1.1Websocket-clinet79
7.1.2Websocket-clinet简单入门79
7.2使用Websocket爬取财经网站81
第8章 验证码破解
8.1关于验证码84
8.1.1一般的验证码84
8.1.2极验验证84
8.2极验滑动验证破解85
8.2.1准备工具85
8.2.2分析滑动验证码85
8.2.3开始破解极限滑动验证码87
8.3图片验证码破解89
8.3.1准备工具89
8.3.2文字图像识别89
8.3.3识别验证码90
第9章 多线程与多进程并发爬取
9.1多线程92
9.1.1堵塞与非堵塞92
9.1.2继承threading.Thread创建类96
9.1.3多线程的锁98
9.1.4queue队列100
9.1.5线程池101
9.2多线程爬虫103
9.2.1爬虫框架103
9.2.2编写爬虫104
9.2.3以多线程方式启动105
9.3多进程107
9.3.1multiprocessing模块107
9.3.2通过Pool进程池创建进程108
9.3.3multiprocessing.Queue队列109
9.3.4multiprocessing.Pipe管道112
9.3.5multiprocessing.Lock锁113
9.4多进程爬虫114
9.4.1多进程爬取音频114
9.4.2多进程加多线程进行爬取116
第10章 爬虫接口优化
10.1Gunicorn的安装与使用119
10.2Gunicorn配置121
10.2.1配置参数121
10.2.2通过config文件启动123
第11章 使用Docker部署爬虫
11.1Docker125
11.1.1Docker的安装125
11.1.2Docker的镜像125
11.1.3构建自己的Docker镜像127
11.1.4容器使用127
11.1.5Dockerfile129
11.2爬虫部署130
11.2.1爬虫接口130
11.2.2部署爬虫接口131
第二篇实战案例
第12章 实战1:建立代理IP池
12.1爬取免费代理IP136
12.1.1爬取代理IP136
12.1.2检验代理IP138
12.2建立代理IP池138
12.2.1检验代理IP138
12.2.2Redis消息队列140
12.2.3master爬虫142
第13章 实战2:磁力链接搜索器
13.1爬取磁力搜索平台145
13.1.1磁力平台145
13.1.2slave爬虫146
13.2实现磁力搜索器148
13.2.1展示与交互148
13.2.2数据查询150
第14章 实战3:爬虫管家
14.1QQ机器人152
14.1.1qqbot152
14.1.2基本操作152
14.1.3实现自己的机器人153
14.2爬虫监控机器人153
第15章 实战4:数据可视化
15.1可视化包Pyecharts156
15.1.1Pyecharts的安装156
15.1.2地图展示数据157
15.2爬取最低价机票数据158
15.2.1破解旅游网站价格日历接口159
15.2.2爬取旅游网站160
15.2.3将数据可视化161
第16章 实战5:爬取贴吧中的邮箱
16.1爬取网站164
16.1.1爬取高校名单164
16.1.2利用正则表达式匹配号码165
16.2分析贴吧搜索页面并提取号码165
16.3使用Scrapy开始编码167
16.3.1创建贴吧Scrapy项目167
16.3.2新建爬虫并编写爬虫逻辑168
16.3.3数据处理170
第17章 实战6:批量爬取企业信息
17.1从第三方平台获取企业名172
17.2如何爬取企业详细信息174
第18章 实战7:爬取公众号历史文章
18.1分析公众号接口177
18.1.1开始抓包177
18.1.2分析接口179
18.1.3尝试请求数据179
18.2爬取公众号180
18.2.1爬取思路180
18.2.2请求接口获取文章URL180
18.2.3解析文章网页源码181
18.2.4合并代码183
第19章 实战8:高效爬取——异步爬虫
19.1异步编程186
19.1.1asyncio库186
19.1.2aiohttp库187
19.1.3访问多个URL188
19.2爬取图片189
19.2.1为函数命名189
19.2.2对网页进行解析190
19.2.3异步爬取图片190
第20章 实战9:爬取漫画网站
20.1爬取单部漫画193
20.1.1单集漫画的爬取193
20.1.2全集漫画的爬取195
20.2爬取漫画全站196
第21章 实战10:给kindle推送爬取的小说
21.1用Python发送邮件199
21.1.1纯文本邮件的发送199
21.1.2带附件邮件的发送200
21.2爬取小说201
21.2.1制作word文档201
21.2.2爬取baka-tsuki.org202
第22章 实战11:爬取游民星空壁纸
22.1星空壁纸的爬取准备205
22.2爬取壁纸206
22.2.1获取图片和下一页地址206
22.2.2爬取列表页208
22.2.3爬取高清图片资源209
第23章 综合实战:建立一个小网站
23.1Flask框架210
23.1.1写一个简单的helloword网页210
23.1.2添加html模板210
23.2Bootstrap框架212
23.2.1使用Bootstrap框架213