import requests # 网络请求模块
import time # 时间模块
import random # 随机模块
import os # 操作系统模块
import re # 正则表达式
from fake_useragent import UserAgent # 导入伪造头部信息的模块
'''
下载批量下载视频
添加动态切换头部信息
'''
# 哔哩哔哩小视频json地址
json_url = 'http://api.vc.bilibili.com/board/v1/ranking/top?page_size=10&next_offset={page}1&tag=%E4%BB%8A%E6%97%A5%E7%83%AD%E9%97%A8&platform=pc'
class Crawl():
def get_json(self,json_url):
headers = {'User-Agent': UserAgent().random} # 创建随机生成的头部信息
response = requests.get(json_url, headers=headers) # 设置随机生成的头部信息
# 判断请求是否成功
if response.status_code == 200:
return response.json() # 返回json信息
else:
print('获取json信息的请求没有成功!')
#下载视频
def download_video(self,video_url,titlename):
headers = {'User-Agent':UserAgent().random} #创建随机生成的头部信息
# 下载视频的网络请求
response = requests.get(video_url, headers=headers, stream=True)
if not os.path.exists('video'): # 如果video目录不存在时
os.mkdir('video') # 创建该目录
if response.status_code == 200: # 判断请求是否成功
if os.path.exists('video'):
with open('video/'+titlename+'.mp4', 'wb')as f: # 将视频写入指定位置
for data in response.iter_content(chunk_size=1024): # 循环写入,实现一段一段的写
f.write(data) # 写入视频文件
f.flush() # 刷新缓存
print('下载完成!')
else:
print('视频下载失败!')
if __name__ == '__main__':
c = Crawl()
for page in range(0,10):
json = c.get_json(json_url.format(page=page)) # 获取返回的json数据
infos = json['data']['items'] # 信息集
for info in infos: # 遍历信息
title = info['item']['description'] # 视频标题
# 只保留标题中英文、数字与汉字,其它符号会影响写入文件
comp = re.compile('[^A-Z^a-z^0-9^\u4e00-\u9fa5]')
title = comp.sub('', title) # 将不符合条件的符号替换为空
video_url = info['item']['video_playurl'] # 视频地址
print(title,video_url)
c.download_video(video_url, title) # 下载视频,视频标题作为视频的名字
time.sleep(random.randint(3, 6)) # 随机产生获取json请求的间隔时间
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1.Python起源与定义 Python 是由荷兰人吉多·罗萨姆于 1989 年发布的。Python 的第一个公开发行版发行于 1991 年。Python 的官方定义:Python 是一种解释型的、面向对象的、带有动态语义的高级程序设计语言。通俗来讲,Python 是一种少有的、既简单又功能强大的编程语言,它注重的是如何解决问题而不是编程语言的语法和结构。 2.Python的应用范围 Python 在通用应用程序、自动化插件、网站、网络爬虫、数值分析、科学计算、云计算、大数据和网络编程等领域有着极为广泛的应用,像 OpenStack 这样的云平台就是由 Python 实现的,许多平台即服务(PaaS)产品都支持 Python 作为开发语言。近年来,随着 AlphaGo 几番战胜人类顶级棋手,深度学习为人工智能指明了方向。Python 语言简单针对深度学习的算法,以及独特的深度学习框架,将在人工智能领域编程语言中占重要地位。 Python 是一种代表简单主义思想的语言。吉多·罗萨姆对 Python 的定位是“优雅,明确,简单”。Python 拒绝了“花俏”的语法,而选择明确。 可下载源
资源推荐
资源详情
资源评论
收起资源包目录
024爬取B站小视频之随机生成浏览器的头部信息.zip (1个子文件)
024爬取B站小视频之随机生成浏览器的头部信息
task_2.py 3KB
共 1 条
- 1
资源评论
静香是个程序媛
- 粉丝: 3714
- 资源: 563
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功