V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
rocketman13
V2EX  ›  问与答

爬虫: api 的 url 连接前加上 blob

  •  
  •   rocketman13 · 2018-07-03 22:48:46 +08:00 · 2792 次点击
    这是一个创建于 2360 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近爬虫一个 app,发现详情页的 url 地址前加上 blob,浏览 url 返回的是空白页,最近想试试爬 b 站的视频,发现 b 站视频的 url 前也加上了 blob,单独请求 url 返回 404,请问大神们这个 blob 是什么东西?如果绕过他?

    12 条回复    2018-07-05 13:37:19 +08:00
    rocketman13
        1
    rocketman13  
    OP
       2018-07-03 22:49:12 +08:00
    如何绕过它拿到想要的数据??
    jonechenug
        2
    jonechenug  
       2018-07-03 23:13:34 +08:00 via Android
    blob 是对象存储,你抓包看看有没有什么特殊处理转换或者头标识的
    a7a2
        3
    a7a2  
       2018-07-03 23:38:43 +08:00
    wasm ?
    noe132
        4
    noe132  
       2018-07-04 00:36:34 +08:00
    blob 是 objectUrl。
    var array = new ArrayBuffer(1)
    var view = new Int8Array(array)
    view[0] = 1
    var blob = new Blob(view)
    var objectUrl = URL.createObjectURL(blob)
    // blob:https://www.v2ex.com/10ef14d3-3117-4858-aa07-e9e74deafff0

    从 objectUrl 取回相应的 data,最好的方式是在相应的环境里,用 xhr 请求 objectUrl,返回 arrayBuffer 或者 blob 就行了
    viosey
        5
    viosey  
       2018-07-04 05:37:52 +08:00 via iPhone
    知乎的视频好像也是用的 blob
    rocketman13
        6
    rocketman13  
    OP
       2018-07-04 09:06:13 +08:00
    @jonechenug 如何找到我想要的真实视频地址呢?
    rocketman13
        7
    rocketman13  
    OP
       2018-07-04 09:06:39 +08:00
    @a7a2 不懂不懂,希望讲明白点
    rocketman13
        8
    rocketman13  
    OP
       2018-07-04 09:07:24 +08:00
    @noe132 这也是一种 js 里实现的加密功能吗?需要 js 反推吗?
    rocketman13
        9
    rocketman13  
    OP
       2018-07-04 09:08:22 +08:00
    @viosey 老哥,有解决方法吗?
    lookas2001
        10
    lookas2001  
       2018-07-04 10:53:33 +08:00 via Android
    @rocketman13 查 mdn 吧少年。
    没啥好办法,如楼上所说,观察一下网络请求或者分析一下 js 吧
    hahasong
        11
    hahasong  
       2018-07-04 11:48:13 +08:00
    估计要分析 js 代码,拿到原始对象。这种 ObjectURL 只在当时的上下文环境才有效,不想分析的话只能上 headless 爬
    rocketman13
        12
    rocketman13  
    OP
       2018-07-05 13:37:19 +08:00
    @hahasong 可是这就是在静态页面获取到的 url 啊,headless 也只能获取 blob 这个连接
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1060 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:06 · PVG 03:06 · LAX 11:06 · JFK 14:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.