python爬虫爬取视频数据,科学网—【python爬虫】抓取B站视频数据及相关信息(二) - 管金昱的博文...

在此之前请先了解一下相关的上一篇文章:

在上一篇文章给出的知乎链接里,我所提及的获取B站up主主页所有视频的方法主要是:使用selenium库调用chromedriver模仿浏览器行为

爬取up主主页html源码

分析html源码,找到带有aid的标签,记录下来

这种方法是比较笨拙的,采集效率也比较低。主要是需要模仿浏览行为,这就意味着需要等待html加载,并且因为每页只能加载30个视频。如若视频数超过30,需要进行翻页操作,而每次翻页操作都意味着要等待html加载,如此往复,效率可想而知,所以这种方法是不常用的。但这种方法又是初学者最容易想到,也最容易操作的,所以我放在第一期里说。

今天这里提出一种更常用的方法,即分析json数据。json数据是怎么来的?抓包分析得来的(详细过程请阅读【补充】Chrome内置工具抓包分析)。下面给出的这个链接是别人抓包分析的来的:

简单的分析一下这个域名后,可以发现其中mid指的就是up主的uid,page是当前所在页数(json数据只能显示一页,其余的数据需要通过更改page的值来获得),pagesize则是这一当前的一页的列表中显示多少个视频的数据(如果视频数超过30,pagesize的最小值是30个,减小也不会有任何的变化)。

打开链接后你就会发现这是一串字符串,因为它是json格式的字符串,我们可以使用python中自带的json包对其进行解析,解析后的文本就可以随心所欲的调取其中的数据了。使用方法大约分成三步:使用requests包爬取该url中的所有文本内容text

用json包中的json.loads(text)函数进行解析

调用解析后的文本中数据

如果写成python就是下面这几句话:

从代码中可以看出这个json数据的部分结构,最外层是data,其次是vlist,aid数据放在vlist中。我们可以这么写json数据从而体现出其数据结构来:

如果你仔细观察,这个url中还包含了up所有视频的播放量,评论数,上传时间等基本信息。在采集视频aid的同时还可以顺带将其它信息一并采集,这样就节省了再去访问api的时间了。

转载本文请联系原作者获取授权,同时请注明本文来自管金昱科学网博客。

链接地址:http://blog.sciencenet.cn/blog-3189881-1105242.html

上一篇:【python爬虫】抓取B站视频相关信息(一)

下一篇:借由某视频平台出发简析一下当下网络生态环境的一角

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值