最近爬虫一个 app,发现详情页的 url 地址前加上 blob,浏览 url 返回的是空白页,最近想试试爬 b 站的视频,发现 b 站视频的 url 前也加上了 blob,单独请求 url 返回 404,请问大神们这个 blob 是什么东西?如果绕过他?
1
rocketman13 OP 如何绕过它拿到想要的数据??
|
2
jonechenug 2018-07-03 23:13:34 +08:00 via Android
blob 是对象存储,你抓包看看有没有什么特殊处理转换或者头标识的
|
3
a7a2 2018-07-03 23:38:43 +08:00
wasm ?
|
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 就行了 |
5
viosey 2018-07-04 05:37:52 +08:00 via iPhone
知乎的视频好像也是用的 blob
|
6
rocketman13 OP @jonechenug 如何找到我想要的真实视频地址呢?
|
7
rocketman13 OP @a7a2 不懂不懂,希望讲明白点
|
8
rocketman13 OP @noe132 这也是一种 js 里实现的加密功能吗?需要 js 反推吗?
|
9
rocketman13 OP @viosey 老哥,有解决方法吗?
|
10
lookas2001 2018-07-04 10:53:33 +08:00 via Android
@rocketman13 查 mdn 吧少年。
没啥好办法,如楼上所说,观察一下网络请求或者分析一下 js 吧 |
11
hahasong 2018-07-04 11:48:13 +08:00
估计要分析 js 代码,拿到原始对象。这种 ObjectURL 只在当时的上下文环境才有效,不想分析的话只能上 headless 爬
|
12
rocketman13 OP @hahasong 可是这就是在静态页面获取到的 url 啊,headless 也只能获取 blob 这个连接
|