Python实现对Bilibili视频点赞等信息的爬取

前言

最近研究python的爬虫过程中,尝试学习了调用bilibili的各种api,可以爬取视频的信息、弹幕等,也可以爬取up主的基本信息等,故写博客记录爬取视频信息的方法。

功能描述

使用python的request库json库实现对bilibili网站中视频av号、bv号、收藏数、投币数、点赞数等信息的爬取。

功能实现


import requests
import json
import csv
import pandas as pd
# 爬虫地址
alphabet = 'fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF'
def dec(x):#BV号转换成AV号
    r = 0
    for i, v in enumerate([11, 10, 3, 8, 4, 6]):
        r += alphabet.find(x[v]) * 58**i
    return (r - 0x2_0840_07c0) ^ 0x0a93_b324

bid = input("input video bv number:")
aid = dec(bid)
url = r'https://api.bilibili.com/x/web-interface/archive/stat?aid=' +str(aid)
    # 携带cookie进行访问
headers = {
            'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36'
            }
 # 获取url      
response = requests.get(url , timeout=30,headers = headers)
text = response.text
jsonobj = json.loads(text)
            
#从Json对象获取视频基本信息并转入词典中
video_dict = {'aid':jsonobj['data']['aid'],
             'bvid':jsonobj['data']['bvid'],
             'view':jsonobj['data']['view'],
             'danmuku_num':jsonobj['data']['danmaku'],
             'reply_num':jsonobj['data']['reply'],
             'favorite_num':jsonobj['data']['favorite'],
             'coin_num':jsonobj['data']['coin'],
             'share_num':jsonobj['data']['share'],
             'like_num':jsonobj['data']['like']
             }            
dataFrame = pd.DataFrame(video_dict,columns=['aid', 'bvid','view','danmuku_num','reply_num','favorite_num','coin_num','share_num','like_num'],index=[0])
dataFrame
#转换为csv格式存储
# dataFrame.to_csv("test.csv", index=False)

运行结果

运行结果

相关资料

【B站API】api研究笔记ep2-视频其他信息
获取Bilibili弹幕和评论的方法

  • 9
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值