【Python爬虫案例】用Python爬取李子柒B站视频数据
一、视频数据结果
今天是2021.12.7号,前几天用python爬取了李子柒的油管评论并做了数据分析,可移步至:
https://www.cnblogs.com/mashukui/p/16220254.html
这次呢,用python爬虫爬了李子柒B站的所有视频数据。
先看下,最终爬取到的视频数据:

一共是142条视频数据(截至目前,李子柒在B站一共上传过142个视频)
每条数据包含的字段是:
视频标题,视频地址,视频上传时间,视频时长,是否合作视频,视频分区,弹幕数,播放量,点赞数,投币量,收藏量,评论数,转发量,实时爬取时间
基本上涵盖了视频的所有属性字段。
二、部分核心代码
这里,我分享下部分核心代码:
url_list = [] # 视频地址
title_list = [] # 视频标题
author_list = [] # UP主昵称
mid_list = [] # UP主UID
create_time_list = [] # 上传时间
play_count_list = [] # 播放数
length_list = [] # 视频时长
comment_count_list = [] # 评论数
is_union_list = [] # 是否合作视频
type_list = [] # 分区
danmu_count_list = [] # 弹幕数
for i in range(1, 10): # 前10页
url = 'https://api.bilibili.com/x/space/arc/search?mid=19577966&ps=30&tid=0&pn={}&keyword=&order=pubdate&jsonp=jsonp'.format(
str(i))
r = requests.get(url, headers=headers)
print(r.status_code) # 响应码200
json_data = r.json()
pprint(json_data)
video_list = json_data['data']['list']['vlist']
pprint(video_list)
for i in video_list:
bvid = i['bvid']
url = 'https://www.bilibili.com/video/' + bvid
url_list.append(url)
title = i['title']
title_list.append(title)
author = i['author']
author_list.append(author)
mid = i['mid']
mid_list.append(mid)
create_time = i['created']
create_time = trans_date(v_timestamp=create_time)
create_time_list.append(create_time)
play_count = i['play']
play_count_list.append(play_count)
length = i['length']
length_list.append(length)
comment = i['comment']
comment_count_list.append(comment)
is_union = '是' if i['is_union_video'] == 1 else '否'
is_union_list.append(is_union)
type_name = get_video_type(v_num=i['typeid'])
type_list.append(type_name)
danmu_count = i['video_review']
danmu_count_list.append(danmu_count)
其中,把url中的mid换成B站任意up主的对应mid,都可以进行爬取!!
其中,把url中的mid换成B站任意up主的对应mid,都可以进行爬取!!
其中,把url中的mid换成B站任意up主的对应mid,都可以进行爬取!!
三、同步讲解视频
代码逐行讲解:
https://www.zhihu.com/zvideo/1451862342237229056
四、获取python源码文件
爱学习的小伙伴,想获取完整python代码文件,关注我的微信公众号"老男孩的平凡之路",后台回复关键字"李子柒B站爬虫",即可获取完整python源码及数据!
我是马哥,全网累计粉丝上万,欢迎一起交流python技术。
各平台搜索“马哥python说”:知乎、哔哩哔哩、小红书、新浪微博。
【Python爬虫案例】用Python爬取李子柒B站视频数据的更多相关文章
- Python爬虫+可视化教学:爬取分析宠物猫咪交易数据
前言 各位,七夕快到了,想好要送什么礼物了吗? 昨天有朋友私信我,问我能用Python分析下网上小猫咪的数据,是想要送一只给女朋友,当做礼物. Python从零基础入门到实战系统教程.源码.视频 网上 ...
- Python爬虫实战二之爬取百度贴吧帖子
大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 前言 亲爱的们,教程比较旧了,百度贴吧页面可能改版,可能代码不 ...
- Python爬虫实战一之爬取糗事百科段子
大家好,前面入门已经说了那么多基础知识了,下面我们做几个实战项目来挑战一下吧.那么这次为大家带来,Python爬取糗事百科的小段子的例子. 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把 ...
- 转 Python爬虫实战二之爬取百度贴吧帖子
静觅 » Python爬虫实战二之爬取百度贴吧帖子 大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 本篇目标 ...
- 转 Python爬虫实战一之爬取糗事百科段子
静觅 » Python爬虫实战一之爬取糗事百科段子 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来. 友情提示 糗事百科在前一段时间进行了改版,导致 ...
- python爬虫学习01--电子书爬取
python爬虫学习01--电子书爬取 1.获取网页信息 import requests #导入requests库 ''' 获取网页信息 ''' if __name__ == '__main__': ...
- python爬虫:了解JS加密爬取网易云音乐
python爬虫:了解JS加密爬取网易云音乐 前言 大家好,我是"持之以恒_liu",之所以起这个名字,就是希望我自己无论做什么事,只要一开始选择了,那么就要坚持到底,不管结果如何 ...
- Python爬虫:为什么你爬取不到网页数据
前言: 之前小编写了一篇关于爬虫为什么爬取不到数据文章(文章链接为:Python爬虫经常爬不到数据,或许你可以看一下小编的这篇文章), 但是当时小编也是胡乱编写的,其实里面有很多问题的,现在小编重新发 ...
- Python爬虫:通过关键字爬取百度图片
使用工具:Python2.7 点我下载 scrapy框架 sublime text3 一.搭建python(Windows版本) 1.安装python2.7 ---然后在cmd当中输入python,界 ...
随机推荐
- Elasticsearch 中的节点(比如共 20 个),其中的 10 个 选了一个 master,另外 10 个选了另一个 master,怎么办?
1.当集群 master 候选数量不小于 3 个时,可以通过设置最少投票通过数量(discovery.zen.minimum_master_nodes)超过所有候选节点一半以上来解决脑裂问题: 2.当 ...
- redis 过期键的删除策略?
1.定时删除:在设置键的过期时间的同时,创建一个定时器 timer). 让定时器在键 的过期时间来临时,立即执行对键的删除操作. 2.惰性删除:放任键过期不管,但是每次从键空间中获取键时,都检查取得的 ...
- idea中web项目的创建
在idea中创建web项目 1)创建一个普通的Java项目 2)右键项目选择ADD Framework Support 3)勾选JavaEE 4)添加jar包 点击Project Structure ...
- UP9616移动电源快充案例
第一版的UP9616快充(地址在此 ),从选料到线路板的布局走线都还算不错,实现了当初定下的设计目标,但也有一点小小的遗憾,就是在输出滤波电容这里有点随便了,为了弥补这个遗憾,秉着工程师的" ...
- Python中使用正则表达式获取两个字符中间部分
问题背景:当我们爬取网页信息时,对于一些标签的提取是没有意义的,所以需要提取标签中间的信息. 解决办法:用到了re包下的函数 方法1:用到了research()方法和group()方法 方法2:用到了 ...
- SpringBoot快速入门(解析+入门案例源码实现)
这里写目录标题 SpringBoot入门 一.SpringBoot 概念 二.JavaConfig 入门 1. JavaConfig 概念 2. 项目准备 三.常用注解 四.SpringBoot 入门 ...
- 微信小程序插件组件-Taro UI
微信小程序组件使用以下官网查看 ↓ ↓ ↓ https://taro-ui.jd.com/#/docs/fab
- Pinpoint介绍及docker安装方式
一.介绍 Pinpoint是用Java编写的大型分布式系统的APM(Application Performance Management应用程序性能管理)工具,受Dapper论文的启发,Pinpoin ...
- Nuxt.js(二、解决首屏速度与SEO)
Nuxt.js(二.解决首屏速度与SEO) 1.普通的Vue SPA初始化加载速度很慢 在传统的web应用中,当用户请求一个页面时,服务器直接返回一个html文件,浏览器直接渲染出来.但是,在vue应 ...
- Java语言学习day10--7月9日
###09方法的重载 * A: 方法的重载 * 在同一个类中,方法名相同,参数列表不同.与返回值类型无关. * 参数列表不同: * A:参数个数不同 * B:参数类型不同 * C:参数的顺序不同(算重 ...