分析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站小视频相关推荐

  1. json spr路驾驶技术视频api_每天弄个小爬取之Python爬取批量爬取B站小视频

    1. 批量爬取B站小视频 哔哩哔哩网站(英文名称: bilibili),是年轻人的文化社区,被粉丝们亲切的称为B站.该网站中拥有动画.番剧.国创.音乐.舞蹈.游戏.科技.生活.鬼畜.娱乐.时尚等多个内 ...

  2. Python每日一练(9)-批量爬取B站小视频

    目录 1. 批量爬取B站小视频 2. 获取动态请求的JSON数据 3. 随机生成浏览器的头部信息 4. 获取要下载视频的大小 5. 实时打印文件下载进度 1. 批量爬取B站小视频 哔哩哔哩网站(英文名 ...

  3. 每天弄个小爬取之Python爬取批量爬取B站小视频!

    1. 批量爬取B站小视频 哔哩哔哩网站(英文名称: bilibili),是年轻人的文化社区,被粉丝们亲切的称为B站.该网站中拥有动画.番剧.国创.音乐.舞蹈.游戏.科技.生活.鬼畜.娱乐.时尚等多个内 ...

  4. 零基础如何学好python爬虫?之python爬取B站小视频

    B 站真是个神奇的网站.找不到资料了,去 B 站逛一逛,保准有你满意的东西. 前几天写了个爬虫,用 path.re.BeautifulSoup 爬取的 B 站 python 视频,如果要爬取多页的话 ...

  5. 零基础如何学好python爬虫?python爬取B站小视频

    B 站真是个神奇的网站.找不到资料了,去 B 站逛一逛,保准有你满意的东西. 前几天写了个爬虫,用 path.re.BeautifulSoup 爬取的 B 站 python 视频,如果要爬取多页的话 ...

  6. Python爬虫-爬取腾讯小视频

    这两天在爬TX的视频的原始下载地址,遇到的问题挺多,感觉这个网站的规律变化多端的,中间也忘了修改过多少次代码了,而且有时候抓包也抓不到一些想要的内容,最后也只能抓到一些像<拜托啦学妹>.& ...

  7. python b站 排行_Python爬虫抓取B站小视频排行榜,新手也可以跟着做哦!

    Python爬虫学到什么程度就可以去找工作了? 有朋友在群里和大家讨论,问的最多的问题就是,python 爬虫学到什么程度可以去找工作了,关于这点,和大家分享下我的理解. 看大牛用Python实现发送 ...

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

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

  9. Python爬虫新手入门教学(二十):爬取A站m3u8视频格式视频

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 前文内容 Python爬虫新手入门教学(一):爬取豆瓣电影排行信息 Python爬虫新手入门 ...

最新文章

  1. python3装饰器详解_Python装饰器详解
  2. ArcGIS10新功能之制作地图集
  3. mnn c++ windows 调用实例
  4. 2.3.4 mysql 用户密码管理
  5. Linux服务-SSH服务部署
  6. rest framework 序列化
  7. [LeetCode] Maximal Rectangle
  8. echarts3 loading动画无法去除解决方案
  9. rollup函数_Vue3同款打包工具Rollup常用配置
  10. Android-多击事件处理
  11. 华为暂没有推出鸿蒙手机计划;苹果否认 iPhone 辐射超标;Kotlin 1.3.50 发布 | 极客头条...
  12. 微软Window硬件大会(WinHEC)
  13. PHP 接口中echo die和return的区别
  14. Windows XP64位系统与语言包下载
  15. 地图制图基础(二):地图内容
  16. Javascript回显图片
  17. 模型思维-THE MODEL THINKER
  18. str_rot13() 函数
  19. JAVA:实现 gnome sort侏儒排序算法(附完整源码)
  20. 手写英文单词识别(1)

热门文章

  1. 【新手教程】如何手动杀毒
  2. PowerBuilder 编写计算器程序
  3. 界面库RingSDK和金山开源KUI界面
  4. 低功耗雷达感应模组,飞睿科技雷达感应方案,让你生活更明亮
  5. 第六节 etc/passwd 、etc/shadow 、 useradd 、 groupadd
  6. C#-Log4net 封装log类并自定义log存放路径
  7. 选购光模块有窍门,必备常识话您知【华光昱能知识与您分享】
  8. C#winform窗体控件之toolStrip
  9. HTML5新元素(测试了大部分浏览器可用的元素,部分标签有详细讲解)
  10. Java字符串去除中文