所有分类
  • 所有分类
  • 精品课程
  • 课件资料
  • 标准资料
  • 资料手册
  • 图纸模型
  • 解说文案

Python3爬虫实战 数据清洗、数据分析与可视化 姚良 2019年版

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

作者:姚良  

出版时间:2019年版 

内容简介 

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

目录 

第一篇 基础知识 \\n 

第1章 Python环境搭建 \\n 

1.1 Python的安装 2 \\n 

1.1.1 Windows下Python的安装 2 \\n 

1.1.2 Mac OS X下Python的安装 3 \\n 

1.1.3 Linux下Python的安装 3 \\n 

1.1.4 安装pip工具 4 \\n 

1.2 虚拟环境Virtualenv 5 \\n 

1.2.1 Virtualenv的安装 5 \\n 

1.2.2 创建虚拟环境 5 \\n 

1.2.3 激活虚拟环境 5 \\n 

1.2.4 创建指定Python版本的虚拟环境 5 \\n 

1.3 选择合适的编辑器 6 \\n 

1.3.1 Vim 6 \\n 

1.3.2 Atom 6 \\n 

1.3.3 Sublime Text 6 \\n 

1.3.4 Notepad++ 6 \\n 

1.3.5 Pycharm 6 \\n 

第2章 常用爬虫库Requests \\n 

2.1 安装Requests 7 \\n 

2.1.1 用pip安装 7 \\n 

2.1.2 用github源码安装 7 \\n 

2.1.3 用curl安装 7 \\n 

2.2 了解 Requests的功能 8 \\n 

2.2.1 使用GET和POST发送请求 8 \\n 

2.2.2 通过URL传递参数 9 \\n 

2.2.3 设置超时 9 \\n 

2.2.4 查看返回内容 9 \\n 

2.2.5 设置请求头 10 \\n 

2.2.6 更多复杂的Post请求 10 \\n 

2.2.7 返回对象状态码 12 \\n 

2.2.8 设置代理IP 13 \\n 

2.3 BeautifulSoup的安装和使用 14 \\n 

2.3.1 使用pip安装BeautifulSoup 14 \\n 

2.3.2 使用BeautifulSoup定位元素 14 \\n 

2.4 初识自动化测试工具Selenium 15 \\n 

2.4.1 Selenium安装 15 \\n 

2.4.2 使用Selnium爬取网站 15 \\n 

2.5 Selenium定位元素 16 \\n 

2.5.1 通过属性定位 17 \\n 

2.5.2 通过xpath定位 17 \\n 

2.6 Selenium反爬设置 18 \\n 

2.6.1 设置请求头 18 \\n 

2.6.2 设置代理IP 19 \\n 

第3章 常用爬虫框架Scrapy \\n 

3.1 认识Scrapy 21 \\n 

3.1.1 Scrapy爬取quotes简单示例 21 \\n 

3.1.2 安装所需依赖包 23 \\n 

3.1.3 使用虚拟环境 23 \\n 

3.2 Scrapy shell的使用 24 \\n 

3.2.1 运行shell 24 \\n 

3.2.2 使用Scrapy shell爬取Scrapy.org 24 \\n 

3.2.3 爬虫调用shell 26 \\n 

3.3 使用Scrapy爬取quotes 26 \\n 

3.3.1 创建Scrapy项目并新建爬虫 27 \\n 

3.3.2 爬取和提取数据 27 \\n 

3.3.3 通过脚本运行Scrapy爬虫 29 \\n 

3.3.4 在同一进程下运行多个爬虫 29 \\n 

3.3.5 简易的分布式爬虫思路 30 \\n 

3.3.6 防止爬虫被ban 31 \\n 

3.4 setting基本配置 31 \\n 

3.5 Pipeline模块 32 \\n 

3.5.1 爬取文字板块 32 \\n 

3.5.2 编写Pipeline模块 35 \\n 

3.5.3 通过Pipeline将数据写入MongoDB数据库 36 \\n 

3.5.4 ImagesPipeline处理图片 37 \\n 

3.5.5 FilePipeline下载文件 40 \\n 

3.6 Middleware中间件 41 \\n 

3.6.1 Downloader Middleware 41 \\n 

3.6.2 随机请求头中间件 42 \\n 

3.6.3 更换代理IP中间件 45 \\n 

3.6.4 通过Downloader Middleware使用Selenium 46 \\n 

3.6.5 Spider Middleware 47 \\n 

3.7 新功能拓展 48 \\n 

3.7.1 信号signals 48 \\n 

3.7.2 自定义拓展 51 \\n 

第4章 数据存储——数据库的选择 \\n 

4.1 MySQL数据库 53 \\n 

4.1.1 MySQL的安装 53 \\n 

4.1.2 几款可视化工具 54 \\n 

4.1.3 数据库连接 55 \\n 

4.1.4 数据库插入操作 55 \\n 

4.1.5 数据库查询 56 \\n 

4.1.6 数据库更新操作 56 \\n 

4.1.7 爬取写入数据库 57 \\n 

4.2 MongoDB数据库 58 \\n 

4.2.1 MongoDB安装 58 \\n 

4.2.2 连接数据库 59 \\n 

4.2.3 查询数据库 59 \\n 

4.2.4 插入和更新数据库 59 \\n 

4.2.5 爬取数据并插入到MongoDB数据库中 60 \\n 

4.3 Redis数据库 60 \\n 

4.3.1 Redis安装 60 \\n 

4.3.2 连接Redis数据库 61 \\n 

4.3.3 Python操作Redis数据库 61 \\n 

4.3.4 爬取并写入Redis做缓存 62 \\n 

\\n 

\\n 

第5章 效率为王——分布式爬虫 \\n 

5.1 什么是分布式爬虫 64 \\n 

5.1.1 分布式爬虫的效率 64 \\n 

5.1.2 实现分布式的方法 64 \\n 

5.2 Celery 65 \\n 

5.2.1 Celery入门 65 \\n 

5.2.2 Celery分布式爬虫 66 \\n 

5.3 使用Scrapy-redis的分布式爬虫 67 \\n 

5.3.1 Scrapy-redis安装与入门 67 \\n 

5.3.2 创建Scrapy-redis爬虫项目 68 \\n 

第6章 抓包的使用与分析 \\n 

6.1 利用抓包分析目标网站 72 \\n 

6.1.1 如何抓包 72 \\n 

6.1.2 网页抓包分析 72 \\n 

6.2 手机APP抓包 74 \\n 

6.2.1 使用fiddler抓包 75 \\n 

6.2.2 HTTPS证书安装 75 \\n 

6.2.3 booking手机端抓包 76 \\n 

第7章 Websocket通信网站爬取 \\n 

7.1 什么是Websocket 79 \\n 

7.1.1 Websocket-clinet 79 \\n 

7.1.2 Websocket-clinet简单入门 79 \\n 

7.2 使用Websocket爬取财经网站 81 \\n 

第8章 验证码破解 \\n 

8.1 关于验证码 84 \\n 

8.1.1 一般的验证码 84 \\n 

8.1.2 极验验证 84 \\n 

8.2 极验滑动验证破解 85 \\n 

8.2.1 准备工具 85 \\n 

8.2.2 分析滑动验证码 85 \\n 

8.2.3 开始破解极限滑动验证码 87 \\n 

8.3 图片验证码破解 89 \\n 

8.3.1 准备工具 89 \\n 

8.3.2 文字图像识别 89 \\n 

8.3.3 识别验证码 90 \\n 

第9章 多线程与多进程并发爬取 \\n 

9.1 多线程 92 \\n 

9.1.1 堵塞与非堵塞 92 \\n 

9.1.2 继承threading.Thread创建类 96 \\n 

9.1.3 多线程的锁 98 \\n 

9.1.4 queue队列 100 \\n 

9.1.5 线程池 101 \\n 

9.2 多线程爬虫 103 \\n 

9.2.1 爬虫框架 103 \\n 

9.2.2 编写爬虫 104 \\n 

9.2.3 以多线程方式启动 105 \\n 

9.3 多进程 107 \\n 

9.3.1 multiprocessing模块 107 \\n 

9.3.2 通过Pool进程池创建进程 108 \\n 

9.3.3 multiprocessing.Queue队列 109 \\n 

9.3.4 multiprocessing.Pipe管道 112 \\n 

9.3.5 multiprocessing.Lock锁 113 \\n 

9.4 多进程爬虫 114 \\n 

9.4.1 多进程爬取音频 114 \\n 

9.4.2 多进程加多线程进行爬取 116 \\n 

第10章 爬虫接口优化 \\n 

10.1 Gunicorn的安装与使用 119 \\n 

10.2 Gunicorn配置 121 \\n 

10.2.1 配置参数 121 \\n 

10.2.2 通过config文件启动 123 \\n 

第11章 使用Docker部署爬虫 \\n 

11.1 Docker 125 \\n 

11.1.1 Docker的安装 125 \\n 

11.1.2 Docker的镜像 125 \\n 

11.1.3 构建自己的Docker镜像 127 \\n 

11.1.4 容器使用 127 \\n 

11.1.5 Dockerfile 129 \\n 

11.2 爬虫部署 130 \\n 

11.2.1 爬虫接口 130 \\n 

11.2.2 部署爬虫接口 131 \\n 

第二篇 实战案例 \\n 

第12章 实战1:建立代理IP池 \\n 

12.1 爬取免费代理IP 136 \\n 

12.1.1 爬取代理IP 136 \\n 

12.1.2 检验代理IP 138 \\n 

12.2 建立代理IP池 138 \\n 

12.2.1 检验代理IP 138 \\n 

12.2.2 Redis消息队列 140 \\n 

12.2.3 master爬虫 142 \\n 

第13章 实战2:磁力链接搜索器 \\n 

13.1 爬取磁力搜索平台 145 \\n 

13.1.1 磁力平台 145 \\n 

13.1.2 slave爬虫 146 \\n 

13.2 实现磁力搜索器 148 \\n 

13.2.1 展示与交互 148 \\n 

13.2.2 数据查询 150 \\n 

第14章 实战3:爬虫管家 \\n 

14.1 QQ机器人 152 \\n 

14.1.1 qqbot 152 \\n 

14.1.2 基本操作 152 \\n 

14.1.3 实现自己的机器人 153 \\n 

14.2 爬虫监控机器人 153 \\n 

第15章 实战4:数据可视化 \\n 

15.1 可视化包Pyecharts 156 \\n 

15.1.1 Pyecharts的安装 156 \\n 

15.1.2 地图展示数据 157 \\n 

15.2 爬取最低价机票数据 158 \\n 

15.2.1 破解旅游网站价格日历接口 159 \\n 

15.2.2 爬取旅游网站 160 \\n 

15.2.3 将数据可视化 161 \\n 

第16章 实战5:爬取贴吧中的邮箱 \\n 

16.1 爬取网站 164 \\n 

16.1.1 爬取高校名单 164 \\n 

16.1.2 利用正则表达式匹配号码 165 \\n 

16.2 分析贴吧搜索页面并提取号码 165 \\n 

16.3 使用Scrapy开始编码 167 \\n 

16.3.1 创建贴吧Scrapy项目 167 \\n 

16.3.2 新建爬虫并编写爬虫逻辑 168 \\n 

16.3.3 数据处理 170 \\n 

第17章 实战6:批量爬取企业信息 \\n 

17.1 从第三方平台获取企业名 172 \\n 

17.2 如何爬取企业详细信息 174 \\n 

第18章 实战7:爬取公众号历史文章 \\n 

18.1 分析公众号接口 177 \\n 

18.1.1 开始抓包 177 \\n 

18.1.2 分析接口 179 \\n 

18.1.3 尝试请求数据 179 \\n 

18.2 爬取公众号 180 \\n 

18.2.1 爬取思路 180 \\n 

18.2.2 请求接口获取文章URL 180 \\n 

18.2.3 解析文章网页源码 181 \\n 

18.2.4 合并代码 183 \\n 

第19章 实战8:高效爬取——异步爬虫 \\n 

19.1 异步编程 186 \\n 

19.1.1 asyncio库 186 \\n 

19.1.2 aiohttp库 187 \\n 

19.1.3 访问多个URL 188 \\n 

19.2 爬取图片 189 \\n 

19.2.1 为函数命名 189 \\n 

19.2.2 对网页进行解析 190 \\n 

19.2.3 异步爬取图片 190 \\n 

第20章 实战9:爬取漫画网站 \\n 

20.1 爬取单部漫画 193 \\n 

20.1.1 单集漫画的爬取 193 \\n 

20.1.2 全集漫画的爬取 195 \\n 

20.2 爬取漫画全站 196 \\n 

第21章 实战10:给kindle推送爬取的小说 \\n 

21.1 用Python发送邮件 199 \\n 

21.1.1 纯文本邮件的发送 199 \\n 

21.1.2 带附件邮件的发送 200 \\n 

21.2 爬取小说 201 \\n 

21.2.1 制作word文档 201 \\n 

21.2.2 爬取baka-tsuki.org 202 \\n 

第22章 实战11:爬取游民星空壁纸 \\n 

22.1 星空壁纸的爬取准备 205 \\n 

22.2 爬取壁纸 206 \\n 

22.2.1 获取图片和下一页地址 206 \\n 

22.2.2 爬取列表页 208 \\n 

22.2.3 爬取高清图片资源 209 \\n 

第23章 综合实战:建立一个小网站 \\n 

23.1 Flask框架 210 \\n 

23.1.1 写一个简单的hello word网页 210 \\n 

23.1.2 添加html模板 210 \\n 

23.2 Bootstrap框架 212 \\n 

23.2.1 使用Bootstrap框架 213 \\n 

23.2.2 Bootstrap在线模板 213 \\n 

23.2.3 添加壁纸板块 215 \\n 

第24章 综合实战:爬取电影网站 \\n 

24.1 理清爬虫的思路 218 \\n 

24.2 分步编码实现爬取 219 \\n 

24.2.1 爬取详情页 219 \\n 

24.2.2 爬取列表页 220 \\n 

24.2.3 爬取首页 221 \\n 

24.2.4 写入数据库 222 \\n 

第25章 综合实战:建立电影小站 \\n 

25.1 搭建项目 224 \\n 

25.1.1 sqlite数据库 224 \\n 

25.1.2 创建项目 225 \\n 

25.1.3 通过蓝图建立电影板块 226 \\n 

25.2 建立模板 229 \\n 

25.2.1 flask-bootstrap 229 \\n 

25.2.2 电影页面 231 \\n 

25.2.3 电影分类 233 \\n 

25.2.4 电影详情页 237 \\n 

25.2.5 电影搜索页 239 \\n 

第26章 综合实战:磁力搜索 \\n 

26.1 磁力搜索 241 \\n 

26.1.1 如何高效爬取 241 \\n 

26.1.2 建立Celery任务 244 \\n 

26.2 Web部分 248 \\n 

26.2.1 建立模型 248 \\n 

26.2.2 视图函数 248 \\n 

26.2.3 关于产品 251 

资源下载
下载价格10 金币
VIP免费
0
没有账号?注册  忘记密码?

社交账号快速登录