Python爬取哔哩哔哩视频的示例

  介绍

小编给大家分享一下Python爬取哔哩哔哩视频的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

一、环境准备

我这里使用的是环境如下仅供参考:
<强>开发工具:pycharm
<强> Python环境:python-3.8.0
<强>依赖的包:shutil,操作系统,再保险、json、选择,请求,lxml

二,页面分析

我在这里就拿前段时间非常火的马老师的视频来举例子吧。
视频链接:https://www.bilibili.com/video/BV1Ef4y1i78b?from=search& seid=12072538764197074893

    <李>视频链接解析我们这里只需要<强> BV1Ef4y1i78b 强也就是<代码>视频后面?号前面 <李>第二部分抓包,哔哩哔哩这里的<>强视频被分成多个小段强了经过看源码分析后我们可以解析<代码> & lt;/script> & lt; script> 中的内容返回一个json串解析获取我们想要的数据即可. . Python爬取哔哩哔哩视频的示例 <李>分析返回json中的具体内容李

返回给我们的们如下,<强>真正对我们有用的信息在数据中
 Python爬取哔哩哔哩视频的示例“> <br/>在数据下面我们就可以清晰的看到我们想要的内容了,如视频的画质,以及视频的地址等,注意:<>强如果你拿到地址直接进行访问的话是访问不到了</>强,哔哩哔哩中添加了<代码>引用页> </代码如果你直接在浏览器访问是没有推荐人的是找不到页面的。<br/>我们需要解析的内容如下:</p> <ol> <李>视频的时长李</> <>李视频的质量</李> <李>视频的URL李</> <李>音频的URL李</> <李>音频和视频合并<br/> <img src=

三、代码实操

3.1准备工作

依赖的包

进口jsonimport osimport再输入shutilimport sslimport timeimport requestsfrom并发。期货进口ThreadPoolExecutorfrom随机进口choicefrom lxml进口etree

添加请求头和随机用户代理

#设置请求头等参数,防止被反爬头={   & # 39;接受# 39;:& # 39;*/* & # 39;   & # 39;接收语言# 39;:& # 39;en - us, en; q=0.5 & # 39;   & # 39;用户代理# 39;:& # 39;Mozilla/5.0 (Windows NT 10.0;WOW64) AppleWebKit/537.36 (KHTML,像壁虎)Chrome/80.0.3987.116 Safari 537.36 & # 39;} def get_user_agent ():   & # 39;& # 39;& # 39;获取随机用户代理& # 39;& # 39;& # 39;   user_agent=[   “Mozilla/4.0 (compatible;MSIE 6.0;Windows NT 5.1;SV1;阿;net CLR 1.1.4322;net CLR 2.0.50727)“,   “Mozilla/4.0 (compatible;MSIE 7.0;Windows NT 6.0;Acoo浏览器;SLCC1;net CLR 2.0.50727;媒体中心电脑5.0;net CLR 3.0.04506)“,   “Mozilla/4.0 (compatible;MSIE 7.0;AOL 9.5;AOLBuild 4337.35;Windows NT 5.1;net CLR 1.1.4322;net CLR 2.0.50727)“,   “Mozilla/5.0(窗口;U;MSIE 9.0;Windows NT 9.0;“en - us),   “Mozilla/5.0 (compatible;MSIE 9.0;Windows NT 6.1;Win64;x64;三叉戟/5.0;net CLR 3.5.30729;net CLR 3.0.30729;net CLR 2.0.50727;媒体中心电脑6.0)“,   “Mozilla/5.0 (compatible;MSIE 8.0;Windows NT 6.0;三叉戟/4.0;WOW64;三叉戟/4.0;SLCC2;net CLR 2.0.50727;net CLR 3.5.30729;net CLR 3.0.30729;net CLR 1.0.3705;net CLR 1.1.4322)“,   “Mozilla/4.0 (compatible;MSIE 7.0 b;Windows NT 5.2;net CLR 1.1.4322;net CLR 2.0.50727;InfoPath.2;net CLR 3.0.04506.30)“,   “Mozilla/5.0(窗口;U;Windows NT 5.1;应用)AppleWebKit/523.15 (KHTML,像壁虎,Safari/419.3) Arora/0.3(变化:287 c9dfb30)“,   “Mozilla/5.0 (X11;U;Linux;en - us) AppleWebKit/527 + (KHTML,像壁虎,Safari/419.3) Arora/0.6“,   “Mozilla/5.0(窗口;U;Windows NT 5.1;en - us;房车:1.8.1.2pre)壁虎/20070215 K-Ninja/2.1.1"   “Mozilla/5.0(窗口;U;Windows NT 5.1;应用;房车:Firefox 1.9)壁虎/20080705/3.0 Kapiko/3.0“,   “Mozilla/5.0 (X11;Linux i686;U。)壁虎/20070322 Kazehakase/0.4.5"   “Mozilla/5.0 (X11;U;Linux i686;en - us;房车:1.9.0.8)壁虎Fedora/1.9.0.8-1。fc10 Kazehakase/0.5.6"   “Mozilla/5.0 (Windows NT 6.1;WOW64) AppleWebKit/535.11 (KHTML,像壁虎)Chrome/17.0.963.56 Safari 535.11“,   “Mozilla/5.0(麦金塔电脑;Intel Mac OS X 10 _7_3) AppleWebKit/535.20 (KHTML,像壁虎)Chrome/19.0.1036.7 Safari 535.20“,   “Opera/9.80(麦金塔电脑;英特尔公司的Mac OS x10.6.8;U;fr)转眼间/2.9.168/11.52版本“,   “Mozilla/5.0 (Windows NT 6.1;AppleWebKit WOW64)/536.11 (KHTML,像壁虎)Chrome/20.0.1132.11 TaoBrowser/Safari 2.0/536.11“,   “Mozilla/5.0 (Windows NT 6.1;WOW64) AppleWebKit/537.1 (KHTML,像壁虎)Chrome/21.0.1180.71 Safari 537.1 LBBROWSER",   “Mozilla/5.0 (compatible;MSIE 9.0;Windows NT 6.1;WOW64;三叉戟/5.0;SLCC2;net CLR 2.0.50727;net CLR 3.5.30729;net CLR 3.0.30729;媒体中心电脑6.0;.NET4.0C;.NET4.0E;LBBROWSER)“,   “Mozilla/4.0 (compatible;MSIE 6.0;Windows NT 5.1;SV1;超级旋风732;.NET4.0C;.NET4.0E;LBBROWSER)“,   “Mozilla/5.0 (Windows NT 6.1;WOW64) AppleWebKit/535.11 (KHTML,像壁虎)Chrome/17.0.963.84 Safari 535.11 LBBROWSER",   “Mozilla/4.0 (compatible;MSIE 7.0;Windows NT 6.1;WOW64;三叉戟/5.0;SLCC2;net CLR 2.0.50727;net CLR 3.5.30729;net CLR 3.0.30729;媒体中心电脑6.0;.NET4.0C;.NET4.0E)“,   “Mozilla/5.0 (compatible;MSIE 9.0;Windows NT 6.1;WOW64;三叉戟/5.0;SLCC2;net CLR 2.0.50727;net CLR 3.5.30729;net CLR 3.0.30729;媒体中心电脑6.0;.NET4.0C;null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Python爬取哔哩哔哩视频的示例