python b站日排行榜_python3爬虫-爬取B站排行榜信息
importrequests, re, time, os
category_dic={"all": "全站榜","origin": "原创榜","rookie": "新人榜",
}
day_dic= {1: "日排行榜", 3: "三日排行榜", 7: "周排行榜", 30: "月排行榜"}
all_or_origin_dic={
0:"全站",1: "动画",168: "国创相关",3: "音乐",129: "舞蹈",4: "游戏",36: "科技",188: "数码",160: "生活",119: "鬼畜",155: "时尚",5: "娱乐",181: "影视",
}
bangumi_dic={"番剧": 1,"国产动画": 4,
}
cinema_dic={"记录篇": 177,"电影": 23,"电视剧": 11,
}
rookie_dic={
0:"全站",1: "动画",3: "音乐",129: "舞蹈",4: "游戏",36: "科技",188: "数码",160: "生活",119: "鬼畜",155: "时尚",5: "娱乐",181: "影视",
}
BaseDict={"all": all_or_origin_dic,"origin": all_or_origin_dic,#"bangumi": bangumi_dic,
#"cinema": cinema_dic,
"rookie": rookie_dic,
}
dic={"all": 1,"origin": 2,"rookie": 3,
}
base_path= "D:图片\bilibili_ranking" #文件保存的位置
defget_url():for first incategory_dic.keys():if first in ["all", "origin", "rookie"]:for second inBaseDict.get(first).keys():for third inday_dic.keys():
url= "https://api.bilibili.com/x/web-interface/ranking?jsonp=jsonp&rid={}&day={}&type={}&arc_type=0&callback=__jp1".format(
second, third, dic.get(first))yieldurl, [first, second, third]
s=requests.Session()
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36","Referer": "https://www.bilibili.com/ranking/all/0/0/3"}
url_list=get_url()for url inurl_list:print("向{}发请求".format(url[0]))
response= s.get(url=url[0], headers=headers)
data= response.text.replace('"', "")
pattern= r'.*?author:(?P.*?),.*?play:(?P.*?),.*?pts:(?P.*?),.*?title:(?P.*?),'result_list=re.findall(pattern, data)
path= os.path.join(base_path, "{}-{}-{}".format(category_dic.get(url[1][0]),
rookie_dic.get(url[1][1]) or all_or_origin_dic.get(url[1][1]),
day_dic.get(url[1][2])))
f= open(path + ".txt", "a", encoding="utf-8")print('正在写入....{}'.format(path + ".txt"))for index, res inenumerate(result_list):#print("排名:{}".format(index + 1))
#print("作者:{}".format(res[0]))
#print("播放量:{}".format(res[1]))
#print("综合分数:{}".format(res[2]))
#print("标题:{}".format(res[3]))
#print("-" * 90)
f.write("排名:{}".format(index + 1))
f.write("标题:{}".format(res[3]))
f.write("作者:{}".format(res[0]))
f.write("播放量:{}".format(res[1]))
f.write("综合分数:{}".format(res[2]))
f.write("-" * 90 + "")
f.close()
time.sleep(2)
python b站日排行榜_python3爬虫-爬取B站排行榜信息相关推荐
- python爬虫爬取豆瓣电影排行榜并通过pandas保存到Excel文件当中
我们的需求是利用python爬虫爬取豆瓣电影排行榜数据,并将数据通过pandas保存到Excel文件当中(步骤详细) 我们用到的第三方库如下所示: import requests import pan ...
- 【Python】大数据挖掘课程作业1——使用爬虫爬取B站评论、弹幕与UP主的投稿视频列表
[Python]大数据挖掘课程作业1--使用爬虫爬取B站评论.弹幕与UP主的投稿视频列表 数据挖掘部分的基本目标是:对于指定的UP主,能够获取其投稿视频列表:对于指定的视频,能够获取其视频标签.评论( ...
- 【Python】使用Python做简易爬虫爬取B站评论
目录 一.前言 二.分析网页 三.代码 1.头 2.获取根评论 3.获取子评论 四.总代码 五.总结 一.前言 B站评论没有查找功能,就随手写了一个爬虫爬取B站评论存储到本地txt中 首先需要安装py ...
- python爬网易新闻_爬虫基本介绍 python3 爬虫爬取网易新闻排行榜
爬虫基本介绍 1. 什么是爬虫? 爬虫是请求⽹网站并提取数据的⾃自动化程序 2. 爬虫的基本流程 发起请求 通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers ...
- python3网络爬虫--爬取b站用户投稿视频信息(附源码)
文章目录 一.准备工作 1.工具 二.思路 1.整体思路 2.爬虫思路 三.分析网页 1.分析数据加载方式 2.分词接口url 3.分析用户名(mid) 四.撰写爬虫 五.得到数据 六.总结 上次写了 ...
- python 爬虫 爬取高考录取分数线 信息
原文链接: python 爬虫 爬取高考录取分数线 信息 上一篇: axios 原生上传xlsx文件 下一篇: pandas 表格 数据补全空值 网页 https://gkcx.eol.cn/scho ...
- python爬取知乎话题广场_学习python爬虫---爬虫实践:爬取B站排行榜2(爬取全部分类排行榜、利用pygal库作图)...
前面我们爬取了B站上全站的排行榜,详细见:魏勇:学习python爬虫---爬虫实践:爬取B站排行榜zhuanlan.zhihu.com 一.爬取全部分类排行榜 我们观察一下B站排行榜,那里还有番剧排 ...
- python桌面爬虫_Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】...
本文实例讲述了Python3爬虫爬取英雄联盟高清桌面壁纸功能.分享给大家供大家参考,具体如下: 使用Scrapy爬虫抓取英雄联盟高清桌面壁纸 源码地址:https://github.com/snowy ...
- python爬虫爬取新浪网站新闻内容
我们以爬取sina时尚模块为例 准备工作 为进行爬虫爬取工作,我们需要进行相关库的准备以及对网页设置布局的了解 相关库的准备 import os import re import urllib fro ...
最新文章
- NIO中那些奇怪的Buffer
- 2017-2018-1 20155222实验三 实时系统
- oracle 11g RAC Grid Infrastructure
- poj 1961 Period(KMP)
- 魔方机器人需要特制魔方吗_解魔方的机器人攻略18 – 魔方快速算法
- CUDA 中 FFT 的使用
- 关系到了冰点_和丈夫的关系到了冰点,该怎么办?
- 分布式系统:一致性模型
- 人不能活在舒适区里,我要趁年轻出去闯闯
- VBB、VCC、VDD、VEE、VPP 、VSS 的解释
- 充分必要条件与C语言,充分条件与必要条件知识点总结,高中数学充分条件与必要条件知识点总结...
- 劲霸男装四十年:“真男人”成“老男人”还能如何劲霸?
- 用ECS做HexMap:利用RenderMesh为六边形涂色
- 【软件测试】软考-2022软件评测师考试心得
- winsock和winsock2冲突
- 史上最全Hashmap面试总结,51道附带答案,持续更新中...
- 电驴提示“该内容尚未提供权利证明,无法提供下载”之解决办法
- AAAI2021会议马上开放注册了!注意截稿时间!
- Weak Cryptography (crypto) 弱密码
- python局部静态变量_python如何设置静态变量