1kuzus 发表于 2023-12-1 01:58:37

免费资源分享 - 逆向iiiLab接口的Bilibili视频爬虫

本帖最后由 1kuzus 于 2023-12-15 23:18 编辑

帖子正文即github readme复制下来的文本,部分格式不支持
直接去Github上看↓
Github - 逆向iiiLab接口的Bilibili视频爬虫


BilibiliSpider-iiiLab调用iiiLab接口的Bilibili视频爬虫简介本程序是对iiiLab视频解析网站的/media接口的轻量级利用,不依赖selenium。程序返回视频资源的url链接,并提供可选的下载至本地路径功能。如果只希望解析少数视频,也可以直接用浏览器访问其网站。注意此接口每天访问次数有上限,大批量操作请考虑ip代理。
环境
pip install requests
pip install pyexecjs


文件说明
[*]iiilab.py - 爬虫主程序
[*]/crypto-js - npm库crypto-js
[*]tool.js - 逆向的源站js脚本
[*]demo.py - 演示程序


快速开始下载仓库并完成环境配置后,在iiilab.py同目录下创建demo.py(此名称任意),复制入以下内容:from iiilab import get_video
url="https://www.bilibili.com/video/BV1bg4y137R6"
title,resource_url,cover_url=get_video(video_link=url)
print("视频标题:", title)
print("资源链接:", resource_url)
print("封面链接:", cover_url)

会得到输出:视频标题: I'm happy cat
资源链接:https://upos-sz-mirrorcos.bilivi ... 6989703c8&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform&bvc=vod&nettype=0&bw=99190&orderid=0,3&buvid=&build=0&mobi_app=&f=T_0_0&logo=80000000封面链接:http://i1.hdslb.com/bfs/archive/7ee99eec4e96b910b1de57b57105be143127de77.jpg

接口说明
1.get_videoget_video不含异常处理,源代码可读性高。如果执行过程中遇到异常会中断。
[*]只获取链接: 只传入video_link即可。返回三元组(视频标题,资源链接,封面链接)
title,resource_url,cover_url=get_video(video_link=url)


[*]下载到本地: 需要传入download_path。(这种调用方式仍然会返回三元组)
get_video(video_link=url,download_path="demo.mp4")

会得到输出:正在下载:https://upos-sz-mirrorali.bilivi ... a944584d7&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform&bvc=vod&nettype=0&f=h_0_0&bw=48018&logo=80000000

视频保存至 demo.mp4 (937.86328125 KB)

注意:使用相对路径会保存在同目录下,也可以指定为绝对路径。
2.get_video_safeget_video_safe加入了异常处理(捕获除网络请求外的错误)和可选的输出debug信息。
[*]基本使用: 使用方法与get_video相同。
title,resource_url,cover_url=get_video_safe(video_link=url)

get_video_safe(video_link=url,download_path="demo.mp4")


[*]调试: get_video_safe可以传入参数debug=True来查看具体的执行流程,便于理解代码功能或调试。
title,resource_url,cover_url=get_video_safe(video_link=url,debug=True)

会得到输出:
-----网络请求-----加密结果enc_link:MC4xODA2NDY2MTc1gNSdzMxkHNnJWMWJ0LvVGZpZ3Lt92YukGbpJWaslmYuc3d39yL6MHc0RHa==@7236226370821279@76544加密结果Accept-Patch:9H17mWO/Nl3UEDIEl7FEIq8DSkxAnwoNdbtbambT/0E8qjyI85k4W0obJoi+RFuL网络请求响应code: 200-----读取响应-----接口响应code: 200接口响应msg: None接口响应data:ndaeqIaUjsvkKyml9BDI6IychV2cyVmdvJCIs0VficGcq5yN3UGZ3ITMzQTMlJWNwEzN1I2N1UGZxIGMxkjY2kTZ0MWZllTOlV2NvUmdph2YyF2LzZmYv02bj5iYsNHZo5SMp9yL6AHd0hmIgojIsJXdfdXZpZXZyBnIgwiIwADMwADMwgTPvd2bsZCOxADO00zdiZCMfBzXo1jZmATPlBXe0RXZuZCZvZXPjZnYm0mcvZGdhxGcsQWatxCZpJHdsk2bsM3bs4WZnxSZulGbkFWZkxyci5GLrBXa1xSZ9MXbhJXYwVnJ3MjY2EWYiFGO2gTO3kDNmNWY2gjZ4YmMlJWN3IjN5YWPnl2cwVnJ1wWb0hWPtJ3bmRXYsBnJw0DZp1mJoBTYjVTMjR2N5UWMzgDOlFmMiVDNiFjY5UWMlJjN5UWY9QWayRnJxAzM3IjN3ETPp9mJ2JWasFWPz9mJyYHbyVXehxGc94WZnZSM1ADO0kDMwcTM9UmbpxGZhVGZmETPzJmbmUTPrBXa1ZSPNNkTzUTY0x2XqRVWlpUcmhDWrZHM4R1UzVkbWZjR1wEOF5WRUhXdFZlc5EnZi5keJpUcChzQOZnTvhmVkdHaWR2VoxGZ3hmVkdHaWJlYONmTyJTTahXdlhzZp1TZ/QDct5iNx0SMtQjN1ETN2IzNwEzL0YTNxUjNycDMx8SNx8CN28SZk92Y4N2ZwV3Lt92Yu8WZklmdpxWai5SasFmcvJncp1WL6NXLz9Gc19yL6MHc0RHaiAiOiwmc19VZjJXdvNXZyJCIsIyblRWa2JCI6ISZwlHdfFWakVWbis3WgojIzFWakVWbiACLiQXYjBSewBXYoBSbnkkIgojI0hXZ0Jye



页: [1]
查看完整版本: 免费资源分享 - 逆向iiiLab接口的Bilibili视频爬虫