Giter Club home page Giter Club logo

Comments (12)

HFrost0 avatar HFrost0 commented on May 14, 2024

技术上可行,但目前主要功能专注于下载视频及其附属文件(弹幕,字幕等)

from bilix.

HFrost0 avatar HFrost0 commented on May 14, 2024

或许未来添加一个--meta选项来保存相关元数据

from bilix.

aleeyangfu avatar aleeyangfu commented on May 14, 2024

感谢回复,期待有进一步功能增加。还有个问题,请问作者。
在下载视频的时候,有变量是表示视频的具体链接或者稿件aid(av号,哔哩哔哩对每个视频都有av号)
我感觉自己可以试试增加这个功能,如果可以获取到具体的视频链接或者稿件的aid.
我是个新手哈哈,有很多地方不懂,忘作者不吝赐教~

from bilix.

HFrost0 avatar HFrost0 commented on May 14, 2024

@aleeyangfu 感谢你对本项目的关注👋,对你的这个问题我不是很理解,或许bilix.api.bilibili模块中的代码可供你参考,你提到的点赞数等信息其实api模块中的某些方法已经获取到了,只是没有对其进行解析和保存,所以这个功能在你理解bilix整个项目的基本框架之后应该是很容易添加的,如果有意自己实现,可以参考开发文档

from bilix.

aleeyangfu avatar aleeyangfu commented on May 14, 2024

嗯呢感谢知道。我的目的是批量下载b站的视频,并在下载b站每个视频的同时获取视频对应的链接,播放量,投币量等数据。我会认真阅读您提供的开发文档。感谢您的帮助

from bilix.

aleeyangfu avatar aleeyangfu commented on May 14, 2024

大佬,求帮助。我是爬虫小白。您可以告诉我bilix.api.bilibili模块中哪个语句(变量)可以获取点赞,播放量这些属性吗?或者您可以给一个可以参考的链接吗?

from bilix.

aleeyangfu avatar aleeyangfu commented on May 14, 2024

大佬,求帮助。我是爬虫小白。您可以告诉我bilix.api.bilibili模块中哪个语句(变量)可以获取点赞,播放量这些属性吗?或者您可以给一个可以参考的链接吗?
已经使用这个仓库解决
https://github.com/wolfbolin/BiliUtil

from bilix.

aleeyangfu avatar aleeyangfu commented on May 14, 2024

还有个问题(0-0),大佬 目前可以根据关键字进行批量下载吗

from bilix.

HFrost0 avatar HFrost0 commented on May 14, 2024

鉴于你可能是刚接触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.

HFrost0 avatar HFrost0 commented on May 14, 2024

还有个问题(0-0),大佬 目前可以根据关键字进行批量下载吗

如果你说的是全站搜索功能的话,我曾经也想做过,但是应该没什么人用所以放弃了

from bilix.

aleeyangfu avatar aleeyangfu commented on May 14, 2024

好的 感谢大佬!!!

from bilix.

HFrost0 avatar HFrost0 commented on May 14, 2024

provided in 1.0a5

from bilix.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.