lingtian_ 2023-04-22 22:32 采纳率: 100%
浏览 33
已结题

为什么我这里就错误了,能帮我看看吗

img

img


运输错了,还是少了什么请指导指导我Python 帮我在图片哪里看看

  • 写回答

5条回答 默认 最新

  • CSDN专家-showbo 2023-04-22 22:38
    关注

    正则有问题,还在采集?参考下面的,题注原来的代码获取json中数据也是有问题的。

    import requests
    import re
    import json
    
    def get_url(url):
        head={
            'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36',
            'referer':'https://www.bilibili.com/video/BV1mX4y1U7K2'
            }
        res=requests.get(url=url,headers=head)
        return res
    def get_json_url(url):
        res=get_url(url).text
        title=re.findall('<title data-vue-meta="true">([^<]+)',res)[0].replace('_哔哩哔哩_bilibili','')
        play_info=json.loads(re.findall(r'window.__playinfo__=([\s\S]+?)</script>',res)[0])
        audio=play_info['data']['dash']['audio'][0]['backupUrl'][0]
        video=play_info['data']['dash']['video'][0]['backupUrl'][0]
    
        return [title,video,audio]
    
    def save(url):
        json_data=get_json_url(url=url)
        title=json_data[0]
        video_content=get_url(url=json_data[1]).content
        audio_content=get_url(url=json_data[2]).content
        with open (f'{title}.mp4','wb')as f:
            f.write(video_content)
        with open (f'{title}.mp3','wb')as f:
            f.write(audio_content)
    
    def start(bv):
        print('开始下载')
        url=f'https://bilibili.com/video/{bv}'
        save(url)
        print('下载完成')
        
    #start('BV1hp4y1U7Ao')##这个参数错误
    start('BV1mX4y1U7K2')
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 4月30日
  • 已采纳回答 4月22日
  • 创建了问题 4月22日

悬赏问题

  • ¥15 问题重发,R语言:代码运行过程中出现如下警告,请求如何解决!
  • ¥15 神经网络模型一直不能上GPU
  • ¥15 苍穹外卖拦截器token为null
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵
  • ¥15 券商软件上市公司信息获取问题
  • ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
  • ¥15 Android studio AVD启动不了
  • ¥15 陆空双模式无人机怎么做
  • ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关