python爬取b站评论_学习笔记(1):写了个python爬取B站视频评论的程序

本文介绍了一个使用Python编写的简单程序,该程序能够爬取B站视频的评论数据,并将其保存到本地文件中。文章提供了完整的源代码,包括BV号与AV号之间的转换逻辑,以及如何从指定页面抓取普通评论和热门评论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习笔记(1):写了个python爬取B站视频评论的程序

import requests

import json

import os

table='fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF'

tr={}

for i in range(58):

tr[table[i]]=i

s=[11,10,3,8,4,6]

xor=177451812

add=8728348608

def dec(x):

r=0

for i in range(6):

r+=tr[x[s[i]]]*58**i

return (r-add)^xor

def enc(x):

x=(x^xor)+add

r=list('BV1  4 1 7  ')

for i in range(6):

r[s[i]]=table[x//58**i%58]

return ''.join(r)def getComment(Bvid , page):

Avid = dec(Bvid)

url = "https://api.bilibili.com/x/v2/reply?pn=" + str(page) + "&type=1&oid=" + str(Avid) + "&sort=2"

data = requests.get(url)

content = json.loads(data.text)

return content['data']['replies']

def getHotComment(Bvid , page ='1'):

Avid = dec(Bvid)

url = "https://api.bilibili.com/x/v2/reply?pn=" + str(page) + "&type=1&oid=" + str(Avid) + "&sort=2"

data = requests.get(url)

content = json.loads(data.text)

return content['data']['hots']

if __name__=='__main__':

print('请输入视频的BV号')

BVID = input()

os.system("cls")

print('请输入想获取的评论的页数')

page = input()

with open('comments.txt','w',encoding='utf-8') as f:

for pg in range(1,int(page)+1):

for index in range(19):

commonComment = getComment(BVID,page)

f.write(commonComment[index]['member']['uname']+':\n')

f.write(commonComment[index]['content']['message']+'\n')

其中BV转AV的程序源自:

作者:mcfx

链接:https://www.zhihu.com/question/381784377/answer/1099438784

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文禁止转载或摘编

--

--

--

分享到:

投诉或建议

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值