Comments (12)
技术上可行,但目前主要功能专注于下载视频及其附属文件(弹幕,字幕等)
from bilix.
或许未来添加一个--meta
选项来保存相关元数据
from bilix.
感谢回复,期待有进一步功能增加。还有个问题,请问作者。
在下载视频的时候,有变量是表示视频的具体链接或者稿件aid(av号,哔哩哔哩对每个视频都有av号)
我感觉自己可以试试增加这个功能,如果可以获取到具体的视频链接或者稿件的aid.
我是个新手哈哈,有很多地方不懂,忘作者不吝赐教~
from bilix.
@aleeyangfu 感谢你对本项目的关注👋,对你的这个问题我不是很理解,或许bilix.api.bilibili模块中的代码可供你参考,你提到的点赞数等信息其实api模块中的某些方法已经获取到了,只是没有对其进行解析和保存,所以这个功能在你理解bilix整个项目的基本框架之后应该是很容易添加的,如果有意自己实现,可以参考开发文档
from bilix.
嗯呢感谢知道。我的目的是批量下载b站的视频,并在下载b站每个视频的同时获取视频对应的链接,播放量,投币量等数据。我会认真阅读您提供的开发文档。感谢您的帮助
from bilix.
大佬,求帮助。我是爬虫小白。您可以告诉我bilix.api.bilibili模块中哪个语句(变量)可以获取点赞,播放量这些属性吗?或者您可以给一个可以参考的链接吗?
from bilix.
大佬,求帮助。我是爬虫小白。您可以告诉我bilix.api.bilibili模块中哪个语句(变量)可以获取点赞,播放量这些属性吗?或者您可以给一个可以参考的链接吗?
已经使用这个仓库解决
https://github.com/wolfbolin/BiliUtil
from bilix.
还有个问题(0-0),大佬 目前可以根据关键字进行批量下载吗
from bilix.
鉴于你可能是刚接触python或者爬虫这一块,我大概讲一下b站的这些信息如何获取。
在bilix.api.bilibili
模块中的get_video_info
会请求b站前端页面,拿到前端html之后,b站对于该视频的基本信息都位于一个script标签内,对应代码
async def get_video_info(client: httpx.AsyncClient, url) -> VideoInfo:
res = await req_retry(client, url, follow_redirects=True) # 请求前端页面
init_info = re.search(r'<script>window.__INITIAL_STATE__=({.*});\(', res.text).groups()[0] # 搜索信息
init_info = json.loads(init_info) # 解析信息
其中点赞,硬币等信息位于
>>> init_info['videoData']['stat']
{'aid': 899323079,
'view': 786358,
'danmaku': 3983,
'reply': 842,
'favorite': 2070,
'coin': 4231,
'share': 1879,
'now_rank': 0,
'his_rank': 0,
'like': 26448,
'dislike': 0,
'evaluation': '',
'argue_msg': '',
'viewseo': 786358}
bilix对于这部分信息没有做任何处理,所以get_video_info
的返回值中没有相关信息,所以你应当改写这个函数,使其返回这些信息,而在硬盘中保存这些信息的流程应当在downloader中去做。
已经使用这个仓库解决
https://github.com/wolfbolin/BiliUtil
bilix中所有跟网络请求相关的api方法都应当是async def的,并且第一个参数为httpx的AsyncClient实例对象,并且方法中使用该client进行网络请求,这保证了整体的统一性(对于cookie, header等东西的处理)以及对异步的支持(bilix最重要的特性优点),所以我不推荐你使用第三方api库,使用第三方库的pull request在不满足上述条件的情况下也不会被接受。推荐自己写api,这样才能保证性能最优。
另外,如果你的async技术不熟悉,我认为这属于python中较新也较为困难的内容,只有在对async有基本的认识的情况下才能理解这些设计原则,所以如果你还是新手的话暂时不建议在bilix上花过多时间,而是基础打牢,学习html,js,正则表达式,json等等最基础的知识,当你这些都融会贯通后再看看asyncio,学会后会发现bilix很简单。
from bilix.
还有个问题(0-0),大佬 目前可以根据关键字进行批量下载吗
如果你说的是全站搜索功能的话,我曾经也想做过,但是应该没什么人用所以放弃了
from bilix.
好的 感谢大佬!!!
from bilix.
provided in 1.0a5
from bilix.
Related Issues (20)
- httpx.RemoteProtocolError: <ConnectionTerminated error_code:0, last_stream_id:1999, additional_data:None> HOT 1
- 根据你们的文档操作,但是不能 HOT 2
- 这个怎么下载字幕呢,用 bilix v https://www.bilibili.com/video/BV18g4y1U7zR --subtitle 不行! HOT 2
- 下载时判断当前目录名,如果所在目录为 videos (不区分大小写) 则不新建目录 HOT 1
- 请求添加自定义输出文件名的功能 HOT 2
- 使用get_up获取某个up的所有投稿视频的时候,可能会获取到已经失效的视频?然后get_video_info就会发生报错?
- ImportError due to deprecated 'cgi' module in Python 3.13
- 0.18.6 regression test failure HOT 6
- api错误 HOT 1
- 报错
- 报错 HOT 2
- bilix.exception.APIParseError: APIParseError Caused by KeyError in <bilix.sites.bilibili.api:get_up_video_info> HOT 1
- python和vc++都是最新的,为啥报错 HOT 2
- Specify profile directory with from-browser
- Python 调用如何使用cookie? HOT 1
- bilix0.18.8执行报错 HOT 4
- mac下载的视频文件只有音频,没有画面 HOT 4
- 下载b站视频合集时,raise EndOfStream from None
- New feat: BaseDownloader can switch to faster url when provided multiple urls for same resource
- 请问可以通过api接口的形式访问吗 HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bilix.