热门搜索: 中考 高考 考试 开卷17
服务电话 024-96192/23945006
 

PYTHON3爬虫实战:数据清洗.数据分析与可视化

编号:
wx1201940111
销售价:
¥52.03
(市场价: ¥59.80)
赠送积分:
52
数量:
   
商品介绍

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

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

篇基础知识章Python环境搭建1.1Python的安装21.1.1Windows下Python的安装21.1.2MacOSX下Python的安装31.1.3Linux下Python的安装31.1.4安装pip工具41.2虚拟环境Virtualenv51.2.1Virtualenv的安装51.2.2创建虚拟环境51.2.3激活虚拟环境51.2.4创建指定Python版本的虚拟环境51.3选择合适的编辑器61.3.1Vim61.3.2Atom61.3.3SublimeText61.3.4Notepad++61.3.5Pycharm6第2章常用爬虫库Requests2.1安装Requests72.1.1用pip安装72.1.2用github源码安装72.1.3用curl安装72.2了解Requests的功能82.2.1使用GET和POST发送请求82.2.2通过URL传递参数92.2.3设置超时92.2.4查看返回内容92.2.5设置请求头102.2.6更多复杂的Post请求102.2.7返回对象状态码122.2.8设置代理IP132.3BeautifulSoup的安装和使用142.3.1使用pip安装BeautifulSoup142.3.2使用BeautifulSoup定位元素142.4初识自动化测试工具Selenium152.4.1Selenium安装152.4.2使用Selnium爬取网站152.5Selenium定位元素162.5.1通过属性定位172.5.2通过xpath定位172.6Selenium反爬设置182.6.1设置请求头182.6.2设置代理IP19第3章常用爬虫框架Scrapy3.1认识Scrapy213.1.1Scrapy爬取quotes简单示例213.1.2安装所需依赖包233.1.3使用虚拟环境233.2Scrapyshell的使用243.2.1运行shell243.2.2使用Scrapyshell爬取Scrapy.org243.2.3爬虫调用shell263.3使用Scrapy爬取quotes263.3.1创建Scrapy项目并新建爬虫273.3.2爬取和提取数据273.3.3通过脚本运行Scrapy爬虫293.3.4在同一进程下运行多个爬虫293.3.5简易的分布式爬虫思路303.3.6防止爬虫被ban313.4setting基本配置313.5Pipeline模块323.5.1爬取文字板块323.5.2编写Pipeline模块353.5.3通过Pipeline将数据写入MongoDB数据库363.5.4ImagesPipeline处理图片373.5.5FilePipeline下载文件403.6Middleware中间件413.6.1DownloaderMiddleware413.6.2随机请求头中间件423.6.3更换代理IP中间件453.6.4通过DownloaderMiddleware使用Selenium463.6.5SpiderMiddleware473.7新功能拓展483.7.1信号signals483.7.2自定义拓展51第4章数据存储——数据库的选择4.1MySQL数据库534.1.1MySQL的安装534.1.2几款可视化工具544.1.3数据库连接554.1.4数据库插入操作554.1.5数据库查询564.1.6数据库更新操作564.1.7爬取写入数据库574.2MongoDB数据库584.2.1MongoDB安装584.2.2连接数据库594.2.3查询数据库594.2.4插入和更新数据库594.2.5爬取数据并插入到MongoDB数据库中604.3Redis数据库604.3.1Redis安装604.3.2连接Redis数据库614.3.3Python操作Redis数据库614.3.4爬取并写入Redis做缓存62第5章效率为王——分布式爬虫5.1什么是分布式爬虫645.1.1分布式爬虫的效率645.1.2实现分布式的方法645.2Celery655.2.1Celery入门655.2.2Celery分布式爬虫665.3使用Scrapy-redis的分布式爬虫675.3.1Scrapy-redis安装与入门675.3.2创建Scrapy-redis爬虫项目68第6章抓包的使用与分析6.1利用抓包分析目标网站726.1.1如何抓包726.1.2网页抓包分析726.2手机APP抓包746.2.1使用fiddler抓包756.2.2HTTPS证书安装756.2.3booking手机端抓包76第7章Websocket通信网站爬取7.1什么是Websocket797.1.1Websocket-clinet797.1.2Websocket-clinet简单入门797.2使用Websocket爬取财经网站81第8章验证码破解8.1关于验证码848.1.1一般的验证码848.1.2极验验证848.2极验滑动验证破解858.2.1准备工具858.2.2分析滑动验证码858.2.3开始破解极限滑动验证码878.3图片验证码破解898.3.1准备工具898.3.2文字图像识别898.3.3识别验证码90第9章多线程与多进程并发爬取9.1多线程929.1.1堵塞与非堵塞929.1.2继承threading.Thread创建类969.1.3多线程的锁989.1.4queue队列1009.1.5线程池1019.2多线程爬虫1039.2.1爬虫框架1039.2.2编写爬虫1049.2.3以多线程方式启动1059.3多进程1079.3.1multiprocessing模块1079.3.2通过Pool进程池创建进程1089.3.3multiprocessing.Queue队列1099.3.4multiprocessing.Pipe管道1129.3.5multiprocessing.Lock锁1139.4多进程爬虫1149.4.1多进程爬取音频1149.4.2多进程加多线程进行爬取1160章爬虫接口优化10.1Gunicorn的安装与使用11910.2Gunicorn配置12110.2.1配置参数12110.2.2通过config文件启动1231章使用Docker部署爬虫11.1Docker12511.1.1Docker的安装12511.1.2Docker的镜像12511.1.3构建自己的Docker镜像12711.1.4容器使用12711.1.5Dockerfile12911.2爬虫部署13011.2.1爬虫接口13011.2.2部署爬虫接口131第二篇实战案例2章实战1:建立代理IP池12.1爬取免费代理IP13612.1.1爬取代理IP13612.1.2检验代理IP13812.2建立代理IP池13812.2.1检验代理IP13812.2.2Redis消息队列14012.2.3master爬虫1423章实战2:磁力链接搜索器13.1爬取磁力搜索平台14513.1.1磁力平台14513.1.2slave爬虫14613.2实现磁力搜索器14813.2.1展示与交互14813.2.2数据查询1504章实战3:爬虫管家14.1QQ机器人15214.1.1qqbot15214.1.2基本操作15214.1.3实现自己的机器人15314.2爬虫监控机器人1535章实战4:数据可视化15.1可视化包Pyecharts15615.1.1Pyecharts的安装15615.1.2地图展示数据15715.2爬取最低价机票数据15815.2.1破解旅游网站价格日历接口15915.2.2爬取旅游网站16015.2.3将数据可视化1616章实战5:爬取贴吧中的邮箱16.1爬取网站16416.1.1爬取高校名单16416.1.2利用正则表达式匹配号码16516.2分析贴吧搜索页面并提取号码16516.3使用Scrapy开始编码16716.3.1创建贴吧Scrapy项目16716.3.2新建爬虫并编写爬虫逻辑16816.3.3数据处理1707章实战6:批量爬取企业信息17.1从第三方平台获取企业名17217.2如何爬取企业详细信息1748章实战7:爬取公众号历史文章18.1分析公众号接口17718.1.1开始抓包17718.1.2分析接口17918.1.3尝试请求数据17918.2爬取公众号18018.2.1爬取思路18018.2.2请求接口获取文章URL18018.2.3解析文章网页源码18118.2.4合并代码1839章实战8:高效爬取——异步爬虫19.1异步编程18619.1.1asyncio库18619.1.2aiohttp库18719.1.3访问多个URL18819.2爬取图片18919.2.1为函数命名18919.2.2对网页进行解析19019.2.3异步爬取图片190第20章实战9:爬取漫画网站20.1爬取单部漫画19320.1.1单集漫画的爬取19320.1.2全集漫画的爬取19520.2爬取漫画全站196第21章实战10:给kindle推送爬取的小说21.1用Python发送邮件19921.1.1纯文本邮件的发送19921.1.2带附件邮件的发送20021.2爬取小说20121.2.1制作word文档20121.2.2爬取baka-tsuki.org202第22章实战11:爬取游民星空壁纸22.1星空壁纸的爬取准备20522.2爬取壁纸20622.2.1获取图片和下一页地址20622.2.2爬取列表页20822.2.3爬取高清图片资源209第23章综合实战:建立一个小网站23.1Flask框架21023.1.1写一个简单的helloword网页21023.1.2添加html模板21023.2Bootstrap框架21223.2.1使用Bootstrap框架21323.2.2Bootstrap在线模板21323.2.3添加壁纸板块215第24章综合实战:爬取电影网站24.1理清爬虫的思路21824.2分步编码实现爬取21924.2.1爬取详情页21924.2.2爬取列表页22024.2.3爬取首页22124.2.4写入数据库222第25章综合实战:建立电影小站25.1搭建项目22425.1.1sqlite数据库22425.1.2创建项目22525.1.3通过蓝图建立电影板块22625.2建立模板22925.2.1flask-bootstrap22925.2.2电影页面23125.2.3电影分类23325.2.4电影详情页23725.2.5电影搜索页239第26章综合实战:磁力搜索26.1磁力搜索24126.1.1如何高效爬取24126.1.2建立Celery任务24426.2Web部分24826.2.1建立模型24826.2.2视图函数24826.2.3关于产品251

随着5G的落地,网速越来越快,网上的信息也越来越多,但是无效、冗余的信息也更加泛滥。很多公司都需要特定专业的数据,为公司的决策提供科学依据。比如爬取某部电影的评论,进而分析观众的兴趣点;爬取羽绒服在各个销售平台的价格、销量等,这就需要网络爬虫的帮助了。因此各大互联网公司都有数据分析部门,而数据分析的前置工作,就是数据获取,本质上就是使用爬虫。笔者是文科生,大学专业为工商管理。在机缘巧合之下,走上了自学编程的道路。在自学的过程中遇到过各式各样的困难,遇到过许多难题。有时候一个简单问题,就把我卡在那里几天时间,无法继续工作。做爬虫,每一个新的网站爬取都是一个挑战。因为你不知道前面有什么坑在等着你去踩。正是这个原因,激发了我的写作热情,我想把自己的学习体会、开发技巧分享出来,让读者对现有网站的爬取方式有一个全面地了解。针对不同网站,选择合适的爬取方式,用最省力的方法获取数据。本书特色1.从零开始,适合新手学习对于只有代码入门基础的新手来说,看文档学习使用工具是十分困难的一件事。因为对代码的不理解、没有编程思维,看文档简直就像是在看天书。另外大部分的最新文档都是英文版的,国内的中文文档都是翻译过来的,在翻译过程中容易产生偏差。而本书基础知识篇中,从各官方文档中直接整理出爬虫爬取需要用到的部分。没有繁杂啰唆的文字,用最简单的语言告诉你学习的重点知识,让你快速上手爬虫。在实战阶段,详细介绍每一个步骤,便于理解,让你也能靠自己写出爬虫。2.实例丰富,解决各种爬虫问题网上很多爬虫的各种教程,大部分都是爬取豆瓣电影、招聘网站职位进行分析。本书实战项目挑选的都是网上少有人爬取的网站,让你可以学习到各式各样的爬取方式。3.站得更高,设计自己的产品本书除了教你如何爬取网站外,还有很多以爬虫为基础的多功能设计教程,如爬虫机器人、爬虫网站、爬虫搜索功能。让你在学会爬取技术的同时,形成产品的思维去设计自己的产品。本书内容及体系结构~3章 环境搭建以及包的使用:介绍Python、Requests和Scrapy的安装以及爬虫常用库Requests和Scrapy的简单使用方法。用简单的例子和语言让读者顺利搭建爬虫环境,但同时快速上手编写爬虫。自动化测试工具selenium:从事爬虫工作并不总是一帆风顺的。总有一些网站让你什么办法都没有,源代码中没有数据、接口也加了密。这时候selenium是你最后的希望,它可以加载渲染JS帮助你获取页面的元素使之顺利完成爬取。第4章 数据库的选择:本章介绍了主流的几个数据库,包括如何下载安装和使用,涉及一些基本的查询语句。让读者对MySQL和Mongodb有一个大致地了解,并学会两个数据库的基本使用方法。在读者自己编写爬虫的时候可以根据自己的需要去选择使用数据库。第5章 效率为王之分布式爬虫:本章介绍了分布式爬虫的概念:将爬虫分布在多台服务器上,同时介绍提高爬取效率的方式。并介绍了几种分布式爬虫的实现方式,既有简单容易实现的,也有复杂高效的方式。让读者全面了解分布式爬虫的实现方式,并能亲自实践操作。第6章 抓包分析:本章介绍如何利用工具对接口进行抓包分析,找到爬取接口的方法。需要有浏览器抓包和软件抓包。浏览器抓包是指使用浏览器自带的network工具对接口进行分析,找到目标接口。软件抓包是指通过fiddler工具对接口进行分析,找到目标接口。第7章 Websocket通信网站爬取:本章介绍了如何爬取使用Websocket通信协议的网站。使用Websocket通信协议的网站和一般网站不一样,需要服务端和客户端保持连接状态才能获取数据,如聊天室。通过模拟口令的方式实现成功握手,保持长连接接收网站的数据。第8章 验证码破解:验证爬虫必须面对的一道坎,你可以选择绕过去也可以选择正面跨过去。介绍了两种从正面破解验证码的方式。第9章 多线程与多进程并发爬取:本章介绍如何使用多线程和多进程去进行并发爬取,提高爬虫效率。0章 爬虫接口优化:爬虫爬取的数据有两种保存方式,保存到数据库和直接通过接口返回到前端。爬虫接口就是一种在线即时爬取数据并返回的接口。本章介绍如何对爬虫接口进行优化,使其支持高并发的访问和爬取。1章 使用Docker部署爬虫:部署爬虫是指将爬虫放置在一个稳定的环境中开始工作。爬虫部署的方式有很多种,本章介绍使用Docker对爬虫进行部署。2章 建立代理IP池:本章开始进入实战,演示爬取网站的整个过程。介绍防止爬虫被封的有效方式——建立代理IP池。通过使用爬虫爬取免费的代理来建立属于自己的代理IP池,为爬取工作顺利进行提供强有力的支持。3章 爬取磁力链接:爬取磁力搜索网站,获取想要的影视资源下载链接。将爬虫制作成自己的搜索小工具。4章 爬虫管家:利用QQbot制作一个监控爬虫状况的工具,定时检查并发送消息通知。5章 数据可视化:爬虫爬取的数据量多且杂,十分不利于数据的整理分析。但将数据可视化处理之后,就可以全面了解数据背后的信息。6章 爬取贴吧中大学邮箱:从全国高校的贴吧清洗数据获取邮箱。贴吧的帖子数据量大且杂,要从这些帖子中准确无误地清洗出邮箱。这是一个大项目,需要花费数天完成爬取。7章 批量爬取企业信息:从一个第三方平台中批量获取企业的名称,然后通过抓包工具获取企业的搜索查询接口爬取企业的详细信息。8章 爬取公众号历史文章:公众号是一个热门的爬取对象,很多人都想获得里面的文章用于转载。本章通过微信PC端连接公众号,使用抓包工具获取接口并爬取公众号历史文章。9章 异步爬虫:本章介绍爬虫中的高效爬虫——异步爬虫。异步爬虫作为一个更快速高效的爬虫,无论是理解上和编写上都存在一定的难度。对于难度不大的网站,使用异步爬虫可以将爬取速度提升到极限。第20章 漫画网站的爬取:本章介绍使用爬虫爬取漫画网站漫画。演示爬取单集、全集和全站漫画的爬取。第21章 给kindle推送爬取的小说:本章介绍一个简单的小任务,爬取fate小说并通过代码推送到kindle中阅读。第22章 爬取游民星空壁纸:本章介绍爬取游民星空高清壁纸,通过分页和筛选将PC壁纸和手机壁纸下载到本地。第23章~第26章是一个爬虫网站项目:通过爬虫获取电影网站的资源,然后重新整理和展示数据,并整合成自己的网站。本书读者对象Python初学者;数据分析师;金融证券从业人员;编程爱好者;大数据从业人员;创业公司老板。

商品参数
基本信息
出版社 中国铁道出版社有限公司
ISBN 9787113260590
条码 9787113260590
编者 姚良
译者 --
出版年月 2019-10-01 00:00:00.0
开本 16开
装帧 平装
页数 268
字数 451
版次 1
印次
纸张 80g胶版纸
商品评论

暂无商品评论信息 [发表商品评论]

商品咨询

暂无商品咨询信息 [发表商品咨询]