爬虫---爬取b站小视频
分析b站小视频
1、进入到抓取链接地址
2、分析抓取链接内容
通过F12或者抓包工具进行查看我们需要爬取的视频在哪里存放,页面以ajax动态加载的
3、分析请求内容和请求参数
通过查看请求内容得到这些数据
1、请求的接口地址
2、请求方式为get
3、请求参数为
page_size 显示的个数
next_offset 动态跳转页面
tag 搜索标题
platfrom (应该是pc端)
分析了页面内容,那么动手来写代码,爬取视频下来
爬取b站小视频
开始写代码之前呢,我们也要一步一步的来,分清楚每一步都是干什么用的,这样的话才能让我们写的代码更加清除。
1、构建请求信息,请求需要爬取的地址
# 构建请求信息,获取数据信息
def get_json(url,ajax):# 构建请求信息params = {'page_size':10,'next_offset': ajax,'tag':'今日热门','platform':'pc'}# 防止请求失败try:html = requests.get(url,params=params,headers=headers).json()return htmlexcept BaseException:print('页面加载失败')
2、进行访问链接,下载视频
# 获取视频信息
def get_video(viedeo_url,path):# 取出来视频的名称和地址r2 = requests.get(viedeo_url,headers=headers)with open(path,'wb')as f:f.write(r2.content)
3、保存下载的视频
infos=html['data']['items']for info in infos:title = info['item']['description']#小视频的标题video_url = info['item']['video_playurl']#视频地址print(title,video_url)#为了防止视频没有video_urltry:get_video(video_url,path=r"E:\app\视频\%s.mp4"%title)print("成功下载一个")except BaseException:print("下载失败")pass
完整代码
import requests
import random
import time
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36"
}
def get_json(url,ajax):# 构建请求信息params = {'page_size':10,'next_offset': ajax,'tag':'今日热门','platform':'pc'}# 防止请求失败try:html = requests.get(url,params=params,headers=headers).json()return htmlexcept BaseException:print('页面加载失败')
def get_video(viedeo_url,path):# 取出来视频的名称和地址r2 = requests.get(viedeo_url,headers=headers)with open(path,'wb')as f:f.write(r2.content)
if __name__ == '__main__':for i in range(3):url='http://api.vc.bilibili.com/board/v1/ranking/top?'num=i*10+1html=get_json(url,num)infos=html['data']['items']for info in infos:title = info['item']['description']#小视频的标题video_url = info['item']['video_playurl']#视频地址print(title,video_url)#为了防止视频没有video_urltry:get_video(video_url,path=r"E:\app\视频\%s.mp4"%title)print("成功下载一个")except BaseException:print("下载失败")pass# 设置加载时间time.sleep(random.random() * 3)
点赞关注~~持续分享,加入我们,了解更多。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。
爬虫---爬取b站小视频相关推荐
- json spr路驾驶技术视频api_每天弄个小爬取之Python爬取批量爬取B站小视频
1. 批量爬取B站小视频 哔哩哔哩网站(英文名称: bilibili),是年轻人的文化社区,被粉丝们亲切的称为B站.该网站中拥有动画.番剧.国创.音乐.舞蹈.游戏.科技.生活.鬼畜.娱乐.时尚等多个内 ...
- Python每日一练(9)-批量爬取B站小视频
目录 1. 批量爬取B站小视频 2. 获取动态请求的JSON数据 3. 随机生成浏览器的头部信息 4. 获取要下载视频的大小 5. 实时打印文件下载进度 1. 批量爬取B站小视频 哔哩哔哩网站(英文名 ...
- 每天弄个小爬取之Python爬取批量爬取B站小视频!
1. 批量爬取B站小视频 哔哩哔哩网站(英文名称: bilibili),是年轻人的文化社区,被粉丝们亲切的称为B站.该网站中拥有动画.番剧.国创.音乐.舞蹈.游戏.科技.生活.鬼畜.娱乐.时尚等多个内 ...
- 零基础如何学好python爬虫?之python爬取B站小视频
B 站真是个神奇的网站.找不到资料了,去 B 站逛一逛,保准有你满意的东西. 前几天写了个爬虫,用 path.re.BeautifulSoup 爬取的 B 站 python 视频,如果要爬取多页的话 ...
- 零基础如何学好python爬虫?python爬取B站小视频
B 站真是个神奇的网站.找不到资料了,去 B 站逛一逛,保准有你满意的东西. 前几天写了个爬虫,用 path.re.BeautifulSoup 爬取的 B 站 python 视频,如果要爬取多页的话 ...
- Python爬虫-爬取腾讯小视频
这两天在爬TX的视频的原始下载地址,遇到的问题挺多,感觉这个网站的规律变化多端的,中间也忘了修改过多少次代码了,而且有时候抓包也抓不到一些想要的内容,最后也只能抓到一些像<拜托啦学妹>.& ...
- python b站 排行_Python爬虫抓取B站小视频排行榜,新手也可以跟着做哦!
Python爬虫学到什么程度就可以去找工作了? 有朋友在群里和大家讨论,问的最多的问题就是,python 爬虫学到什么程度可以去找工作了,关于这点,和大家分享下我的理解. 看大牛用Python实现发送 ...
- 【Python】大数据挖掘课程作业1——使用爬虫爬取B站评论、弹幕与UP主的投稿视频列表
[Python]大数据挖掘课程作业1--使用爬虫爬取B站评论.弹幕与UP主的投稿视频列表 数据挖掘部分的基本目标是:对于指定的UP主,能够获取其投稿视频列表:对于指定的视频,能够获取其视频标签.评论( ...
- Python爬虫新手入门教学(二十):爬取A站m3u8视频格式视频
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 前文内容 Python爬虫新手入门教学(一):爬取豆瓣电影排行信息 Python爬虫新手入门 ...
最新文章
- python3装饰器详解_Python装饰器详解
- ArcGIS10新功能之制作地图集
- mnn c++ windows 调用实例
- 2.3.4 mysql 用户密码管理
- Linux服务-SSH服务部署
- rest framework 序列化
- [LeetCode] Maximal Rectangle
- echarts3 loading动画无法去除解决方案
- rollup函数_Vue3同款打包工具Rollup常用配置
- Android-多击事件处理
- 华为暂没有推出鸿蒙手机计划;苹果否认 iPhone 辐射超标;Kotlin 1.3.50 发布 | 极客头条...
- 微软Window硬件大会(WinHEC)
- PHP 接口中echo die和return的区别
- Windows XP64位系统与语言包下载
- 地图制图基础(二):地图内容
- Javascript回显图片
- 模型思维-THE MODEL THINKER
- str_rot13() 函数
- JAVA:实现 gnome sort侏儒排序算法(附完整源码)
- 手写英文单词识别(1)