diff --git a/docs/article/view.md b/docs/article/view.md index 7dd61a3..a107908 100644 --- a/docs/article/view.md +++ b/docs/article/view.md @@ -87,6 +87,53 @@ 同 `data.categories[]` 中的对象 +`data.content` 为字符串形式的 JSON 时代表的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | -------- | ---- | ---- | +| ops | object[] | 以 JSON 呈现的文本内容 | 套了个娃 | + +`data.content` 为字符串形式的 JSON 时代表的对象中的 `ops` 数组中的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | -------- | ---- | ---- | +| attribute | object? | 属性 | 见下 | +| insert | string \| object | 插入内容 | | + + +`data.content` 为字符串形式的 JSON 时代表的对象中的 `ops` 数组中的对象中的 `attribute` 对象: + +注: 此处属性备注为页面实际渲染的情况 + +| 字段 | 类型 | 内容 | 备注 | +| ---------- | -------- | ---- | ---- | +| blockquote | boolean? | 块级引用 | 参见 [\:块级引用元素](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/blockquote) | +| bold | boolean? | 加粗 | 参见 [\](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/strong) | +| class | string? | 类名 | 参见 [class](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Global_attributes/class) | +| color | string? | 颜色 | 参见 [color](https://developer.mozilla.org/zh-CN/docs/Web/CSS/color) | +| header | number? | 标题级别 | 参见 [\–\:HTML 区域标题元素](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/Heading_Elements) | +| strike | boolean? | 删除线 | 参见 [\](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/s) | +| italic | boolean? | 斜体 | 参见 [\:强调元素](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/em) | list | string? | 列表 | `bullet`: 无序列表, 参见 [\:无序列表元素](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/ul)
`ordered`: 有序列表, 参见 [\](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/ol) | + +`data.content` 为字符串形式的 JSON 时代表的对象中的 `ops` 数组中的对象中的 `insert` 为对象时的对象: + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| native-image | object? | 原生图片 | 见下, 另见 [\:图像嵌入元素](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Elements/img) | + +`data.content` 为字符串形式的 JSON 时代表的对象中的 `ops` 数组中的对象中的 `insert` 为对象时的对象中的 `native-image` 对象: + +注: 此处属性备注为页面实际渲染的情况 + +| 字段 | 类型 | 内容 | 备注 | +| ---- | ---- | ---- | ---- | +| alt | string | 图像的备用文本描述 | 即 `` 的 `alt` 属性 | +| url | string | 图像的 URL | 即 `` 的 `src` 属性 | +| width | number | 图像的宽度 | 即 `` 的 `data-w` 属性 | +| height | number | 图像的高度 | 即 `` 的 `data-h` 属性 | +| size | number | 图像的文件大小 | 即 `` 的 `data-size` 属性 | +| status | number | `"loaded"` | 即 `` 的 `data-status` 属性 | + `data.list` 对象: | 字段 | 类型 | 内容 | 备注 | @@ -143,7 +190,7 @@ **示例:** -`cv1` 未知的光 +`type=0`: `cv1` 未知的光 ```shell curl -G 'https://api.bilibili.com/x/article/view' \ @@ -304,3 +351,924 @@ curl -G 'https://api.bilibili.com/x/article/view' \ + +`type=3`: `cv41358718` 通过 DevTools 绕过 SSR 抓包某站专栏正文接口 + +```shell +curl 'https://api.bilibili.com/x/article/view?id=41358718' \ +-A 'Mozilla/10.0' +``` + +
+查看响应示例: + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "id": 41358718, + "category": { + "id": 26, + "parent_id": 17, + "name": "数码" + }, + "categories": [ + { + "id": 17, + "parent_id": 0, + "name": "科技" + }, + { + "id": 26, + "parent_id": 17, + "name": "数码" + } + ], + "title": "通过 DevTools 绕过 SSR 抓包某站专栏正文接口", + "summary": "背景\n最近没什么事做, 又回 BAC 看看有什么接口可以抓, 于是看到了陈年的专栏正文内容的 Issue #859\n由于泽生自己是写前端的, 对于浏览器 DevTools 的各项调试工具还算是比较了解, 打算想办法把专栏正文的接口抓下来 :)\n思路\n由于专栏正文完整的内容在页面加载的时候就已经通过 SSR (Server-Side Rendering, 服务端渲染) 的方式通过