qq_36048693
qq_253450924
采纳率100%
2021-05-05 05:26

Python爬虫萌新求问,最后一行代码会什么会报错

# 音频地址:'https://upos-sz-mirrorcoso1.bilivideo.com/upgcxcode/36/30/332453036/332453036-1-30280.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1620165289&gen=playurlv2&os=coso1bv&oi=1902571203&trid=bfdc2161f420471096f70ea6182b2784u&platform=pc&upsig=da79af498a7e8b788b32fcd3802bf898&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=0&orderid=0,3&agrr=0&logo=80000000'
# 视频地址:'https://upos-sz-mirrorcoso1.bilivideo.com/upgcxcode/36/30/332453036/332453036-1-30032.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1620165289&gen=playurlv2&os=coso1bv&oi=1902571203&trid=bfdc2161f420471096f70ea6182b2784u&platform=pc&upsig=e24dbc3efd25d283a5581e70ba119c63&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=0&orderid=0,3&agrr=0&logo=80000000'
# 332453036-1-30280
# 332453036-1-30032
import requests
import re

https://www.bilibili.com/video/BV1gZ4y1F7XM?from=search&seid=12466526176795882504
# 要下载的视频地址:
url = 'https://www.bilibili.com/video/BV1gZ4y1F7XM?from=search&seid=12466526176795882504'

# 构建请求头
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36 Edg/90.0.818.51',
    'referer': 'https://search.bilibili.com/all?keyword=XUESHENG&from_source=webtophistory_search&spm_id_from=333.851.b_62696c6962696c692d7365617263682d686973746f7279.1&order=totalrank&duration=1&tids_1=0'

}

# 第一次发送请求获取视频主页的HTML数据
response = requests.get(url=url, headers=headers)
# print(response.content.decode())

# 解析数据,提取音视频URL
# .匹配任意字符, *最少0次,最多N次,  ----正则匹配   .?*

# 获取音频url
get_ad = re.findall('"id":30280,"baseUrl":"(.*?)","base_url":', response.content.decode())
# print(get_ad[0])

# 获取视频的url
get_vd = re.findall('"id":32,"baseUrl":"(.*?)","base_url":', response.content.decode())
# print(get_vd[0])

# 第二次发送请求,获取音视频
res_vd = requests.get(url = get_vd,headers=headers)

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • technologist_16 CSDN技术专家团-天际的海浪 3天前

    已经解决了就好。

    点赞 评论 复制链接分享
  • QA_Assistant 有问必答小助手 昨天

    非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

    速戳参与调研>>>https://t.csdnimg.cn/Kf0y

    点赞 评论 复制链接分享
  • QA_Assistant 有问必答小助手 2天前

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论 复制链接分享
  • qq_36048693 qq_253450924 3天前

    谢谢大家,阅读一边代码,发现最后一行.URL= get_vd的时候没有取索引[0],已经看到BUG了.谢谢大家

    点赞 评论 复制链接分享

相关推荐