小白喜提爬虫之进阶篇,requests爬取B站评论及其点赞数分享数等
发布日期:2021-05-11 00:16:03 浏览次数:18 分类:精选文章

本文共 2963 字,大约阅读时间需要 9 分钟。

import requests
import re
import time
import json
def get_info():
headers = {
'Host': 'api.bilibili.com',
'Referer': 'https://www.bilibili.com/video/av77413543',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}
info = f'https://api.bilibili.com/x/web-interface/archive/stat?aid={av}'
info_rsp = requests.get(url=info, headers=headers)
info_json = info_rsp.json()
with open(f'{av}_info.txt', 'w', encoding='utf-8') as fp:
if info_json['code'] == 0:
fp.write(f'���������: {info_json["data"]["view"]}\n')
fp.write(f'���������: {info_json["data"]["danmaku"]}\n')
fp.write(f'���������: {info_json["data"]["favorite"]}\n')
fp.write(f'���������: {info_json["data"]["coin"]}\n')
fp.write(f'���������: {info_json["data"]["share"]}\n')
fp.write(f'���������: {info_json["data"]["like"]}\n')
print(f'���������: {info_json["data"]["view"]}')
print(f'���������: {info_json["data"]["danmaku"]}')
print(f'���������: {info_json["data"]["like"]}')
print(f'���������: {info_json["data"]["favorite"]}')
print(f'���������: {info_json["data"]["coin"]}')
print(f'���������: {info_json["data"]["share"]}')
FP.write('\n')
comment_url = 'https://api.bilibili.com/x/v2/reply'
page = 1
while True:
now_time = int(time.time() * 1000)
param = {
'callback': f'jQuery17205146934182044087_{now_time}',
'jsonp': 'jsonp',
'pn': page,
'type': '1',
'oid': av,
'sort': '2',
'_': now_time
}
rsp = requests.get(url=comment_url, headers=headers, params=param)
rsp_str = rsp.text.replace(f'jQuery17205146934182044087_{now_time}(', '').strip(')')
com_json = json.loads(rsp_str)
if com_json['code'] == 0:
try:
replies = com_json['data']['replies']
print(f'������{page}���')
for reply in replies:
fp.write(f'������: {reply["member"]["uname"]}\n')
fp.write(f'������������: {reply["content"]["message"]}\n')
page +=1
time.sleep(1)
except Exception as e:
break

av���������������������������

av = '77413543'
av = input('���������av������')

���������������

  • ������Bilibili������API������������������������������������������������������������������
  • ������������������������������������������������������������������
  • ���������������������������API���������������
  • ���������������

    • ������������������
    • ������������������
    • ������������������������
    • ���������������������
    上一篇:凯撒密码转化,循环,C语言版!
    下一篇:关于九九乘法表while和for

    发表评论

    最新留言

    网站不错 人气很旺了 加油
    [***.192.178.218]2025年04月26日 01时56分52秒