吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4045|回复: 40
收起左侧

[Python 转载] B站视频爬取

[复制链接]
封心棒棒糖 发表于 2022-5-31 20:58
[Python] 纯文本查看 复制代码
import json
import os.path
import re
import subprocess

import requests

headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.62',
    'referer': 'https://www.bilibili.com/'
}


def main(url):
    # 获取页面html代码
    resp = requests.get(url=url, headers=headers)
    html_code = resp.text
    # 解析标题
    title = re.findall('<h1 id="video-title" title="(.*?)" class="video-title">', html_code)[0]
    # 解析播放地址
    play_info = re.findall('<script>window.__playinfo__=(.*?)</script>', html_code)[0]
    print(title)
    print(play_info)
    json_data = json.loads(play_info)
    # 获取音频地址
    audio_url = json_data['data']['dash']['audio'][0]['baseUrl']
    print(audio_url)
    # 获取视频地址  默认最清晰
    video_url = json_data['data']['dash']['video'][0]['baseUrl']
    print(video_url)
    audio_resp = requests.get(url=audio_url, headers=headers, stream=True)
    if not os.path.exists('movie'):
        os.mkdir('movie')
    with open(f'movie/{title}.mp3', mode='wb') as f:
        for audio_data in audio_resp.iter_content(10240):
            f.write(audio_data)
    video_resp = requests.get(url=video_url, headers=headers, stream=True)
    with open(f'movie/{title}.mp4', mode='wb') as f:
        for video_data in video_resp.iter_content(10240):
            f.write(video_data)
    command = f'D:/JetBrains/ffmpeg-5.0.1/ffmpeg-5.0.1-essentials_build/bin/ffmpeg -i movie/{title}.mp4 -i movie/{title}.mp3 -c:v copy -c:a aac -strict experimental movie/{title}-merger.mp4'
    print(command)
    subprocess.run(command, shell=True)


if __name__ == '__main__':
    main('https://www.bilibili.com/video/BV1LY4y187ii')

免费评分

参与人数 8吾爱币 +10 热心值 +8 收起 理由
YYL7535 + 1 + 1 谢谢@Thanks!
吾爱啦啦 + 1 + 1 我很赞同!
cloud_hb + 1 + 1 我很赞同!
liqualife001 + 1 我很赞同!
rumushiyi + 1 + 1 热心回复!
zyz666 + 1 + 1 用心讨论,共获提升!
a1692486 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 封心棒棒糖 发表于 2022-5-31 21:44
vicky526356 发表于 2022-5-31 21:34
看代码就晕乎乎的,不如成品好看

不好意思,不擅长UI
九天临兵帝 发表于 2022-5-31 21:51
代码有了挺好,但是能不能发个成品,想运行个程序还要下载个pycharm,python
然后下载 json      os.path       re      subprocess     requests 这几个包 ,然后复制代码再运行 ,才能看到成品......
对新手不太友好,就比如说我玩了4年吾爱只是因为找资源比较方便
MPFENG 发表于 2022-5-31 21:19
vicky526356 发表于 2022-5-31 21:34
看代码就晕乎乎的,不如成品好看
 楼主| 封心棒棒糖 发表于 2022-5-31 21:44
MPFENG 发表于 2022-5-31 21:19
成品呢?希望发个成品出来。

不好意思,不擅长UI
chaselove 发表于 2022-5-31 21:48
思路最重要,ui不是很简单
chaselove 发表于 2022-5-31 21:52
但是这个代码下载下来只有音频呀
 楼主| 封心棒棒糖 发表于 2022-5-31 22:05
chaselove 发表于 2022-5-31 21:52
但是这个代码下载下来只有音频呀

都有得,安装ffpmeg 改下代码改成您的安装目录,会合并音频和视频
songing 发表于 2022-5-31 23:18
有成品的话对于我们这些小白来说就太好了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 12:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表