介绍
小编给大家分享一下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串解析获取我们想要的数据即可. . 李> <李>分析返回json中的具体内容李>
返回给我们的们如下,<强>真正对我们有用的信息在数据中强>
李>
三、代码实操
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 nullPython爬取哔哩哔哩视频的示例