strivepan 2021-05-05 05:26 采纳率: 100%
浏览 60
已采纳

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条回答 默认 最新

  • 关注

    已经解决了就好。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码