这个夏天,《长安十二时辰》火了。 易烊千玺、雷佳音主演;马伯庸同名小说改编。 耗巨资花费七个月时间打造七十多亩长安城。 这部剧史料严谨,造型考究,堪称良心制做。 目前豆瓣评分也达到8.6的高分。git
故事主要是讲述了唐天宝三载,上元节当日的帝都长安。在一派歌舞升平的繁华盛景中,一群偷偷潜入的突厥狼卫酝酿着灭城的阴谋。只有一个死囚犯能挽救长安,时限为十二个时辰,进而引起惊心动魄的故事。 github
因最近恰好咱们在讲爬虫与数据分析,因此就想用咱们现代的大案牍术来分析一下这不电视剧到底为何会火,你们都对这部电视剧的评价是什么样的?(全部弹幕最高频的900个词) 编程
猪哥将会详细的讲解每一步的过程,但愿感兴趣的同窗能够认真阅读,而后本身动手实践,这样才能真的学习到知识。json
本教程只为学习交流,不得用于商用获利,后果自负! 若有侵权或者对任何公司或我的形成不利影响,请告知删除跨域
第一步:打开某酷网站,而后点击电视剧播放,在页面中鼠标右键选择检查(或F12)调出浏览器的调试窗口。 浏览器
Headers
按钮,查看请求url,而且注意请求头中的
Referer
和
User-Agent
参数。
URL找到以后咱们即可以开始coding了,仍是老规矩:先从一条数据的抓取、提取、保存,这些都没问题以后咱们再研究批量抓取。服务器
这里咱们依然是用咱们的requests
库来操做,不知道requests库是什么东西的老铁们先看看这篇文章:requests库介绍。 cookie
第一步:提取json数据 咱们观察返回的数据会发现,和上一篇同样,跨域请求都是用的是jsonp,因此咱们须要对返回的数据进行稍微的截取,就是将外面的jQuery111203412576115734338_1562833192066(
和最后的)
去掉,只保留中间的json数据。 数据结构
r.text.index('(')
获取到了回调函数的左括号的角标,而后再用这个角标去作切片,这样的好处是能够通用,即便jsonp返回函数名长度改变也不影响。
第二步:提取弹幕数据 获得json以后,咱们就来分析弹幕数据在哪里,咱们能够在浏览器的调试窗口的Preview
里面查看
content
字段就是实际的弹幕内容,好那咱们用json把他们提取并打印出来。
想要的数据提取出来以后,咱们就能够把数据保存。数据保存咱们仍是使用文件来保存,缘由是操做方便,知足需求。
完成一次请求请求的爬取、提取、保存以后,咱们来研究下如何批量保存数据。这里和其余批量爬取有所区别:如何爬取多集的批量数据?
在遇到问题和困难时,猪哥老是喜欢把事情或者工做量化,而后再细化,分步解决!
这里咱们就把批量爬取分为两步:第一步批量爬取一集的全部弹幕;第二步爬取多集的弹幕! 。
第一步:爬取某一集全部弹幕 批量爬取的关键就在于找到分页参数,找分页的技巧就是:比较两个请求url的参数,看看有何不一样。
mat
参数不一样,并且仍是依次递增的趋势,这个参数即是咱们寻找的分页参数(其实mat参数表示分钟数,表示获取第几分钟的弹幕),找到分页参数后咱们就能够对原方法改造,改造思路:
将原url中分页参数变为可变参数,由方法传入。而后新建一个批量爬取的方法,循环调用单次爬取方法,每次调用传入页数便可!
iid=1061156738
、第二集的
iid=1061112026
,可是这个
iid
参数并非递增,如何找到规律?
这时候咱们仍是要回到网页中寻找答案,咱们复制第一集的iid值1061156738
到浏览器的调试窗口搜索,找到iid就是某接口的vid
值。
这里须要引入另外一个请求头:Cookie
,Cookie是干什么的?
由于HTTP协议是无状态协议,也就是说下次再请求服务器并不知道你是谁,因此就用Cookie和Seesion来记录状态,最简单的例子就是用户登陆后,服务器就给浏览器遗传一串加密字符串(key),而后服务器本身缓存一个key-value,这样浏览器每次来请求都带上这个key,服务器就知道你是哪一个用户!
因为篇幅有限今天只给你们简单介绍,考虑其重要性,后面猪哥会专门写一篇文章介绍Cookie。
那咱们去哪里找Cookie呢?答案固然是浏览器咯!
可是这种表格形式的根本没法复制,有没有什么小技巧能方便咱们复制Cookie吗?固然有,咱们点击浏览器调试窗口的Console
按钮,而后输入document.cookie
就能够看到所有Cookie啦,直接复制出来就能够,是否是很方便!
表明集数的id拿到了,如今咱们就能够双层循环去爬全部的弹幕啦,上代码。
咱们要清洗什么数据?其实这个事先很难猜到,因此咱们不作数据清洗直接生成云词看看会是什么效果,而后再作调整。关于云词的生成介绍猪哥在上篇爬取京东商品评价并生成词云已经为你们讲过!
从上面的词云图中咱们能够分析出:
目前此剧已更新完第一季(20集),真的是一部国产良心剧,画质、服装、礼节、拍摄、剧本、演技都堪称一流,推荐你们看看!
咱们来从技术层面分析总结一下今天这篇文章,本篇文章看似与上一篇爬取京东商品评价并生成词云流程很相似,可是更难一点:
周末、瓜子花生和啤酒 、看剧编程两不误,人生岂不美滋滋!