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站排行榜信息相关推荐

  1. python爬虫爬取豆瓣电影排行榜并通过pandas保存到Excel文件当中

    我们的需求是利用python爬虫爬取豆瓣电影排行榜数据,并将数据通过pandas保存到Excel文件当中(步骤详细) 我们用到的第三方库如下所示: import requests import pan ...

  2. 【Python】大数据挖掘课程作业1——使用爬虫爬取B站评论、弹幕与UP主的投稿视频列表

    [Python]大数据挖掘课程作业1--使用爬虫爬取B站评论.弹幕与UP主的投稿视频列表 数据挖掘部分的基本目标是:对于指定的UP主,能够获取其投稿视频列表:对于指定的视频,能够获取其视频标签.评论( ...

  3. 【Python】使用Python做简易爬虫爬取B站评论

    目录 一.前言 二.分析网页 三.代码 1.头 2.获取根评论 3.获取子评论 四.总代码 五.总结 一.前言 B站评论没有查找功能,就随手写了一个爬虫爬取B站评论存储到本地txt中 首先需要安装py ...

  4. python爬网易新闻_爬虫基本介绍 python3 爬虫爬取网易新闻排行榜

    爬虫基本介绍 1. 什么是爬虫? 爬虫是请求⽹网站并提取数据的⾃自动化程序 2. 爬虫的基本流程 发起请求 通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers ...

  5. python3网络爬虫--爬取b站用户投稿视频信息(附源码)

    文章目录 一.准备工作 1.工具 二.思路 1.整体思路 2.爬虫思路 三.分析网页 1.分析数据加载方式 2.分词接口url 3.分析用户名(mid) 四.撰写爬虫 五.得到数据 六.总结 上次写了 ...

  6. python 爬虫 爬取高考录取分数线 信息

    原文链接: python 爬虫 爬取高考录取分数线 信息 上一篇: axios 原生上传xlsx文件 下一篇: pandas 表格 数据补全空值 网页 https://gkcx.eol.cn/scho ...

  7. python爬取知乎话题广场_学习python爬虫---爬虫实践:爬取B站排行榜2(爬取全部分类排行榜、利用pygal库作图)...

    前面我们爬取了B站上全站的排行榜,详细见:魏勇:学习python爬虫---爬虫实践:爬取B站排行榜​zhuanlan.zhihu.com 一.爬取全部分类排行榜 我们观察一下B站排行榜,那里还有番剧排 ...

  8. python桌面爬虫_Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】...

    本文实例讲述了Python3爬虫爬取英雄联盟高清桌面壁纸功能.分享给大家供大家参考,具体如下: 使用Scrapy爬虫抓取英雄联盟高清桌面壁纸 源码地址:https://github.com/snowy ...

  9. python爬虫爬取新浪网站新闻内容

    我们以爬取sina时尚模块为例 准备工作 为进行爬虫爬取工作,我们需要进行相关库的准备以及对网页设置布局的了解 相关库的准备 import os import re import urllib fro ...

最新文章

  1. NIO中那些奇怪的Buffer
  2. 2017-2018-1 20155222实验三 实时系统
  3. oracle 11g RAC Grid Infrastructure
  4. poj 1961 Period(KMP)
  5. 魔方机器人需要特制魔方吗_解魔方的机器人攻略18 – 魔方快速算法
  6. CUDA 中 FFT 的使用
  7. 关系到了冰点_和丈夫的关系到了冰点,该怎么办?
  8. 分布式系统:一致性模型
  9. 人不能活在舒适区里,我要趁年轻出去闯闯
  10. VBB、VCC、VDD、VEE、VPP 、VSS 的解释
  11. 充分必要条件与C语言,充分条件与必要条件知识点总结,高中数学充分条件与必要条件知识点总结...
  12. 劲霸男装四十年:“真男人”成“老男人”还能如何劲霸?
  13. 用ECS做HexMap:利用RenderMesh为六边形涂色
  14. 【软件测试】软考-2022软件评测师考试心得
  15. winsock和winsock2冲突
  16. 史上最全Hashmap面试总结,51道附带答案,持续更新中...
  17. 电驴提示“该内容尚未提供权利证明,无法提供下载”之解决办法
  18. AAAI2021会议马上开放注册了!注意截稿时间!
  19. Weak Cryptography (crypto) 弱密码
  20. python局部静态变量_python如何设置静态变量

热门文章

  1. 国内的网站咋这么难看呢
  2. 十六进制转化为ASCII码引起的的进制的故事
  3. 献给你,我亲爱的人儿
  4. 2022届秋招嵌入式面经分享
  5. 智方6000系标准销售管理系统 v4.57 绿色
  6. 深拷贝与浅拷贝的简单理解
  7. 已知一个坐标系下某个点的坐标,求另一个坐标系下该点的坐标
  8. 华南师范大学c语言考研真题,2017年华南师范大学计算机学院925数据结构考研题库...
  9. Tars-Java网络编程源码分析
  10. 腾讯 Tars-Go 服务 Hello World——从 HTTP 开始