文件名自定义(文件格式为.py),脚本内容:

#!/usr/bin/env python
#-*-coding:utf-8-*-
import requests
import random
import timedef get_json(url):headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}params = {'page_size': 10,'next_offset': str(num),'tag': '今日热门','platform': 'pc'}try:html = requests.get(url,params=params,headers=headers)return html.json()except BaseException:print('request error')passdef download(url,path):start = time.time() # 开始时间size = 0headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}response = requests.get(url,headers=headers,stream=True) # stream属性必须带上chunk_size = 1024 # 每次下载的数据大小content_size = int(response.headers['content-length']) # 总大小if response.status_code == 200:print('[文件大小]:%0.2f MB' %(content_size / chunk_size / 1024)) # 换算单位with open(path,'wb') as file:for data in response.iter_content(chunk_size=chunk_size):file.write(data)size += len(data) # 已下载的文件大小if __name__ == '__main__':for i in range(10):url = 'http://api.vc.bilibili.com/board/v1/ranking/top?'num = i*10 + 1html = get_json(url)infos = html['data']['items']for info in infos:title = info['item']['description'] # 小视频的标题video_url = info['item']['video_playurl'] # 小视频的下载链接print(title)# 为了防止有些视频没有提供下载链接的情况try:download(video_url,path='videos/%s.mp4' %title)print('成功下载一个!')except BaseException:print('凉凉,下载失败')passtime.sleep(int(format(random.randint(2,8)))) # 设置随机等待时间

爬取效果如下:

爬取的文件:

生成一个windows平台可执行exe程序
工具安装:pip install PyInstaller
生成exe程序:
pyinstaller -i test.ico -F Grasp.py

打包过程:

打包好的文件:

参数含义:

程序:

百度云下载链接

链接:百度云
提取码:hqhr

脚本内容收集自互联网,不保证生成的程序时效

转载于:https://www.cnblogs.com/ArchitecTang/p/10194249.html

Python 自动爬取B站视频相关推荐

  1. 从入门到入土:Python实现爬取某站视频|根据视频编号|支持通过视频名称和创作者名称寻找编号|以及python moviepy合并音频视频

    写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) Python实现爬取某站视频|根据视频编号|支持通过视频名称 ...

  2. Python爬虫入门教程 71-100 续上篇,python爬虫爬取B站视频

    写在前面 上篇博客我们用比较大的篇幅分析了B站视频传输方式,这篇博客填一下之前留下的坑,我们把代码部分写出来. 文章来源:梦想橡皮擦,其实这个ID是一个组合 分析的步骤与逻辑这里不再重复给大家演示了, ...

  3. python爬b站视频_python代码福利:用requests爬取B站视频封面

    最近看到一篇文章介绍了利用Python爬虫爬取B站视频封面的文章,虽然我完全没看文章,但是只看了一眼这个封面图就彻底把我吸引了.不过我也对爬虫这方面比较熟悉了,这么简单的事情还用看别人的文章教我做事? ...

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

    学习笔记(1):写了个python爬取B站视频评论的程序 import requests import json import os table='fZodR9XQDSUm21yCkr6zBqiveY ...

  5. python爬取bilibili弹幕_用Python爬取B站视频弹幕

    原标题:用Python爬取B站视频弹幕 via:菜J学Python 众所周知,弹幕,即在网络上观看视频时弹出的评论性字幕.不知道大家看视频的时候会不会点开弹幕,于我而言,弹幕是视频内容的良好补充,是一 ...

  6. python b站 排行_Python 爬取B站 视频热度排行数据

    时间:2019-03-07 概述:抓取数据 爬虫 采集 Python 爬取bilibili站 视频热度排行视频数据,有文件为 bilibili.py,只需输入一个大模块名,如游戏模块名为'game', ...

  7. python爬虫:Selenium爬取B站视频标题、播放量、发布时间

    上次尝试了利用Ajax机制爬取B站视频播放量等数据(链接在下方),但是发现响应的JSON数据中没有发布时间的数据,这次决定用Selenium试一下. python爬虫:Ajax爬取B站视频标题.播放量 ...

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

    学习笔记(1):写了个python爬取B站视频评论的程序 import requests import json import os table='fZodR9XQDSUm21yCkr6zBqiveY ...

  9. 解决使用python爬取b站视频并使用ffmepg把音频和视频合成失败

    首先我们需要下载ffmepg,并且配置环境变量 把下载下来的文件中的bin文件夹的路径添加到Path中 然后打开Anaconda Prompt,使用命令conda install ffmpeg安装ff ...

最新文章

  1. 天津科技大学 物理实验平台使用教程及相关问题
  2. Ajax获取数据的流程
  3. 利用C++模板特性计算各整数类型的最大最小值
  4. 有没有哪种贷款不用利息,而且门槛又低?
  5. 大拐点!16省,人口开始负增长了
  6. Java中注解学习系列教程-2
  7. spring集成mybatis后,打印SQL语句
  8. java毕业设计——基于java+Java Swing+sqlserver的图书馆书库管理系统设计与实现(毕业论文+程序源码)——图书馆书库管理系统
  9. 【服务器数据恢复】服务器raid5磁盘阵列分区丢失的数据恢复案例
  10. 电商api数据接口,淘宝item_cat_get,淘宝API接口分类!!!
  11. index()函数和match()函数联合使用案例
  12. 屏幕录制专家linux版,Linux平台好用的十款屏幕录制工具
  13. python语言编写从一加到100_python学习: 如何循序渐进学习Python语言
  14. CAD多行文本中文字的堆叠
  15. hasChildNodes()方法,nodeName、nodeValue、nodeType介绍
  16. 基于python的量化投资基础(Chapter.0)——概述
  17. java 前后台json的传递
  18. 项目管理中的成本管理如何理解?
  19. 关于Python初级阶段模仿飞机大战的小游戏制作源码
  20. Unity-TA 成长之路(三)URP-Universal Render Pipeline

热门文章

  1. android 字体描边
  2. IDEA database 数据库工具
  3. 公文写作(更新中。。。)
  4. 强强联手,丝滑办公新体验!IdeaHub+华为云会议实测
  5. ABtest--通过广告点击率指标比较两组营销策略的广告投放效果
  6. 计算机flash考试教程,计算机考试-Flash
  7. 软件设计师---信息安全
  8. linux用5块磁盘组rid5,Raid5需要几块硬盘Raid10需要几个硬盘?服务器如何选择raid?使用raid几最好?...
  9. 服务器的文件夹每次都输密码怎么设置,如何设置每次登陆共享文件夹都要输密码...
  10. MySQL的下载安装配置教程(很详细!!!)