【爬虫之路】A站文章围观量&B站视频播放量的简单爬虫想法

众所周知,acfun与bilibili一直是国内受到广泛关注的宅社区以及二次元社区,一直以来我有一个想法,便是如何获知两个网站里最有意思的作品,仅仅依靠官方的推荐并不足以满足个人化的需求。
于是这只小爬虫便诞生了。

0.一开始的想法是抓取b站av8到av2000000+的近两百万个视频的播放量,然后降序排序。
但面临着两个问题,一是播放页并非静态网页,播放量来自于js自动生成,于是我们通过抓取一个视频的uid与aid来打开含有播放量的静态页面,从而达到目的。
二是某些投稿已被和谐,会出现404 not found错误,于是我们通过try&except的方式跳过死链。
解决以上两个问题后,发现又有了两个新的问题,一个是每一个视频页面的cid与uid出现方式不同(不同视频源所导致),导致正则表达式引擎无法正确抓取出aid&cid号。另一个问题是速度过慢,10M宽带环境下提取100个视频播放量就需要耗时40s左右。前者需要分析每一种视频源的html格式,后者需要多线程解决,极大的增加了难度。

1.在第一种爬虫想法搁浅后,通过相关查阅,我发现一个或许可以优化的方法,便是通过分类来抓取,我们知道b站有每个区导航的页面,例如http://www.bilibili.com/video/part-twoelement-1.html 表示完结番剧的第一页,查看源代码我们发现这是个静态页面,播放量已经生成,例如这是其中一段html代码:

<a href="/video/av2198990/" target="_blank" class="title">【意大利语配音】秒速五厘米【诸神】</a><div class="info">硬盘 意大利语版的秒五,也没有什么好介绍的,只是想吐槽欧洲配音的开头都没有体现出萝莉正太音啊=。=</div><div class="w-info"><i class="gk" title="观看" number="1063">1063</i><i class="sc" title="收藏" number="32">32</i><i class="dm" title="弹幕" number="18">18</i><a href="http://space.bilibili.com/98665" target="_blank" title="死蝶浮月-真月"><i class="up r10000">死蝶浮月-真月</i></a><i class="date" title="日期">2015-04-08 20:51
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值