我没有药 2024-08-13 01:17 采纳率: 50%
浏览 5
已结题

#初学者:关于Python爬虫的问题#爬取b站视频时,抓的包和Python打印出来的不一样

首先抓的一个包即可以搜到30232和30064

img

img

然后我有复制这个包的referer和user-agent

img

img

这是我的源码

img


打印后,我搜了一下,发现只能搜到30232,搜不到30064

img

img

  • 写回答

2条回答 默认 最新

  • 专家-皆知 2024-08-13 08:41
    关注

    参考免费微信小程序:皆我百晓生 作答,经由专家-皆知整理回复,如问题解决,望采纳;如仍有疑问,请评论回复。

    根据你提供的信息,似乎你在使用Python的requests库尝试从B站抓取视频,但遇到了问题。从你给出的内容来看,问题可能出在以下方面:

    1. 请求URL错误:你提供的URL似乎包含了一些错误字符,如vdsourcededf15280c31f7c76b36ba 应该是 vd_source=de71e76fb66edf15280c31f7c76b36ba。在headers字典中,AppLeWebKit应该是AppleWebKit
    2. 请求头部可能不完整:从B站获取视频资源通常需要更多的请求头,如RefererCookie等。
    3. 使用代理:B站有严格的反爬策略,如果短时间内发送大量请求,可能会被封锁。考虑使用代理或增加请求间的时间间隔。
    4. 视频资源的URL:视频资源的URL可能是动态生成的,依赖于一些参数,如uidbidcid等。你需要正确识别这些参数并构造正确的URL。

    针对上述问题,你可以尝试以下改进:

    1. 修正URL和请求头:
    url = "https://www.bilibili.com/video/BV1ptaSeSENF/?spmidfrom=333.337.search-card.all.click&vd_source=de71e76fb66edf15280c31f7c76b36ba"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36",
        "Referer": "https://search.bilibili.com/video?keyword=%E5%A4%A7%E5%AE%8B%E5%B0%91%E5%B9%B4%E5%BF%971&from_source=webtop_search&spm_id_from=333.100"
    }
    
    1. 如果仍然无法获取视频资源,你可能需要查看具体的错误消息或响应内容来确定问题。
    2. 考虑使用代理或增加请求间的时间间隔。
    3. 如果视频资源的URL是动态生成的,你可能需要分析B站的网页或API来找到正确的参数和URL。

    希望这些建议能帮助你解决问题。如果你需要进一步的帮助,请提供更多的信息或错误消息。

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

报告相同问题?

问题事件

  • 系统已结题 8月21日
  • 已采纳回答 8月13日
  • 创建了问题 8月13日

悬赏问题

  • ¥15 为什么会突然npm err!啊
  • ¥15 java服务连接es读取列表数据,服务连接本地es获取数据时的速度很快,但是换成远端的es就会非常慢,这是为什么呢
  • ¥15 vxworks交叉编译gcc报错error: missing binary operator before token "("
  • ¥15 JSzip压缩文件时如何设置解压缩密码
  • ¥66 nuxtjs3 ,老是报错,内容:我有代码仓库,如何解决?
  • ¥30 WPF如何实现动态Y轴
  • ¥15 读取parquet文件某一列的数据但是输出是整个列名和格式
  • ¥15 机动目标 制导律建模问题
  • ¥100 求Java socks 转发实现Demo
  • ¥20 随身WiFi移动网络访问不了