《爬虫实战》- – 如何五分钟爬取A站实时弹幕!

大家好,我是Rclimber,今天给大家带来爬虫实战项目 — 如何爬取A站视频的实时弹幕,希望一下内容对您有帮助,点个关注,以后也会给大家分享更多爬虫项目!话不多说,进入正题—-

这次咱们实战的需求就是 爬取A站某视频的弹幕,在GUI界面中让他展示出来!

本次爬取视频的url:历时三个月!我揪出了污蔑新疆棉花的真正幕后黑手 (acfun.cn)

前言:其实对于这种爬取弹幕,我认为我们首先想到的就是post请求,弹幕发送的原理为 页用特定表格数据发送post请求—接收后返回弹幕数据(理解不对勿喷)。pass:(还有一种比较特殊的就是B站,简单说一下B站的所有弹幕信息为储存在另一个html里面,该url需要通过特定的cid从而去获得cid所对应的弹幕信息,感兴趣的朋友可以私聊找我详解噢)所以,我们需要找到发送post请求的url地址。这个简单,我们直接打开F12,F5刷新,可以看到有很多的url

 我们直接搜索一条里面的弹幕信息

果然,有了!可以分析该url为post请求,打开预览看看弹幕信息是不是在里面

 OK,证明我们的方向没有错,该url为我们最终要爬取的url(

提示一下小萌新:直接点是打不开的哟,因为是post请求,你没有对面的表格数据是打不开的),弹幕信息与我们分析的一模一样,很多爬虫兴趣的同学应该都有感觉,爬虫最重要的不是代码,而是分析出来正确的url!拿到了正确的url就成功了一半,剩下就是直接上脚本!

提示:A站的post请求每次发送的表单数据不一样,所以也就是说我们拿到的这个url的data他可能只是几条弹幕的url信息,因为它会发送很多次post请求,每次data里面的表格数据不一样,带来的弹幕信息也就不一样。这里我就不给大家详细讲解了,相信小伙伴们一定能解决-=-=

测试一下,响应200,OK,证明我们已经post请求到了该 址(pass:A站是需要cookie信息的,小伙伴们注意啦!) 下面进行数据清洗,我们需要的是用户id与弹幕信息,这里砸门用正则表达式,(正则表达式提取非html内容是首选之一,html用xpath或者beautifulsoup),测试一下:

很好,我们直接保存到txt文件中,最终效果图:

 

总结:ok,至此,我们爬取到了该视频所有的弹幕数量。给小伙伴们总结一下以及我在做时发现的一些问题,首先,A站的这种实时弹幕的原理是 址每隔一段时间会post请求一次,而且post请求中的表单数据不同,请求到的内容也是不同,所以,我们要获取实时弹幕,我自己用的方法是找出每次请求表单数据不同的内容,用随机数去post请求所有不同表单的url(我这应该是最蠢的方法,有更好的方法的小伙伴留言哦-=-),其次,为保证我们一直能爬取到内容,给他建立一个死循环。代码非常的简单(需要源码的可以私信),想改进的朋友可以加一个gui界面在界面上实现实时看弹幕的效果。我认为学爬虫重要的不是代码,而是思路,获取到这个我们想要的url的思路,随着反爬措施的越来越腻害,广大“爬友”也会变得越发困难,怎样获取正确的url以及应该反爬措施是一个非常重要的问题,最后,希望大家技术日进斗精-=- 点个关注,谢谢!

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览211741 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐