【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,界 ...
随机推荐
- Java 中你怎样唤醒一个阻塞的线程?
在 Java 发展史上曾经使用 suspend().resume()方法对于线程进行阻塞唤醒,但 随之出现很多问题,比较典型的还是死锁问题. 解决方案可以使用以对象为目标的阻塞,即利用 Object ...
- My模板设计模式
模板模式 目标: 第一个设计模式:模板模式 步骤: 第一个设计模式:模板模式 讲解: 我们现在使用抽象类设计一个模板模式的应用, 例如在小学的时候,我们经常写作文,通常都是有模板可以套用的. 假如我现 ...
- leetcode_两数相加
给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表示和的链表. 你可以假设除了数字 0 ...
- BMZCTF SDNISC2020_过去和现在
SDNISC2020_过去和现在 打开附件就一张图片 根据题意感觉是图片中隐藏了什么信息 使用binwalk -e分离这里foremost不行 三个文件查看在第一个中发现flag
- Cadence 错误合集
1.原理图DRC出现如下错误"Duplicate Pin Name "GND" found on Packag" 解决方案:原因是元件引脚重复定义,可以进行重新 ...
- keil Uvision4 面向51单片机数据类型属性一览表
- 记离线缓存(manifest)一大坑,断定其只适用于静态网站或离线应用
今天看了离线缓存(manifest)方面的资料,兴冲冲地就想给自己的网站用上.待我把代码都写好部署上服务器,并测试过OK的时候,在SegmentFault刷了一把manifest方面的问答,才发现这个 ...
- web音频流转发之AudioNode
前言 上一章地址: web音频流转发之音频源下一张地址:web音频流转发之音视频直播在这一章我说几个我们需要用到的音频处理模块也就3个吧,包括我们转发流是需要用到的核心模块.更多模块请看MDN,或者看 ...
- [ Terminal ] 在 Windows Terminal 中使用 Git Bash
https://www.cnblogs.com/yeungchie/ Git 自带的 git-bash 太简陋了,ConEmu 又太卡了,还是这个 Windows Terminal 最好用. 安装 W ...
- Spring配置数据源(连接池)
1.数据源(连接池)的作用:为了提高程序的性能而出现的 2.数据源的原理: *事先实例化数据源,初始化部分连接资源 *使用连接资源时从数据源中获取 *使用完毕后将连接资源归还给数据源 使用c3p0的步 ...