
小白喜提爬虫之进阶篇,requests爬取B站评论及其点赞数分享数等
������Bilibili������API������������������������������������������������������������������ ������������������������������������������������������������������ ���������������������������API���������������
发布日期:2021-05-11 00:16:03
浏览次数:18
分类:精选文章
本文共 2963 字,大约阅读时间需要 9 分钟。
import requestsimport reimport timeimport jsondef 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������')
���������������
���������������
- ������������������
- ������������������
- ������������������������
- ���������������������
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月26日 01时56分52秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【2021.5.8 NOI模拟】贪心
2021-05-11
python3下安装jupyter kernel报错问题
2021-05-11
计算机网络参考模型,图文详解,更懂你!
2021-05-11
BNUZ程协技术部2020寒假任务简单版(后端)
2021-05-11
关于C++构造函数与析构函数的一些问题
2021-05-11
关于手机ping电脑和电脑ping手机
2021-05-11
mybatis 简单学习
2021-05-11
操作系统学科复习图
2021-05-11
202l
2021-05-11
数据结构知识清单简要
2021-05-11
P1226 【模板】快速幂||取余运算
2021-05-11
pandas最后出现的gotchas问题的原因及解决方法
2021-05-11
机器学习分类算法模型评价指标
2021-05-11
LeetCode197.打家劫舍
2021-05-11
List<Object>转Map<String,Object>利用Java8新特性
2021-05-11
pandas(10):数据增删改
2021-05-11
ASCII编码学习
2021-05-11
第7周编程作业
2021-05-11