103 lines
2.8 KiB
Markdown
103 lines
2.8 KiB
Markdown
# offerqingbaoju.cn 招聘数据接口说明
|
||
|
||
> 基础域名:`https://offerqingbaoju.cn`
|
||
> 当前接口返回明文 JSON,不使用 AES 或 Base64 加密。
|
||
> 匿名访问只允许读取第 1 页;访问第 2 页及以后会返回 `401`,提示需要登录验证。
|
||
|
||
## 一、接口
|
||
|
||
### 招聘数据
|
||
|
||
```text
|
||
GET /api/simple/navigation/60/data
|
||
```
|
||
|
||
请求示例:
|
||
|
||
```bash
|
||
curl 'https://offerqingbaoju.cn/api/simple/navigation/60/data?page=1&per_page=2000'
|
||
```
|
||
|
||
## 二、分页限制
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
|------|------|------|
|
||
| `page` | int | 页码,从 `1` 开始;匿名用户只能访问 `page=1` |
|
||
| `per_page` | int | 每页数量;参数名是 `per_page`,不是 `size` 或 `siez` |
|
||
|
||
测试结果:
|
||
|
||
- `page=1&per_page=10`:返回 10 条。
|
||
- `page=1&per_page=200`:返回 200 条。
|
||
- `page=1&per_page=2000`:返回 2000 条。
|
||
- `page=1&per_page=6000`:返回 6000 条,`total_pages=2`。
|
||
- `page=2&per_page=2000`:返回 `401`,需要登录验证。
|
||
- `page=1&siez=6000`:`siez` 被忽略,使用默认 `per_page=20`。
|
||
|
||
接口返回的分页字段位于 `pagination`:
|
||
|
||
```json
|
||
{
|
||
"page": 1,
|
||
"per_page": 2000,
|
||
"total_pages": 4,
|
||
"total_rows": 6191,
|
||
"has_next": true,
|
||
"has_prev": false
|
||
}
|
||
```
|
||
|
||
## 三、字段编码格式
|
||
|
||
- 响应头为 `application/json`,内容编码为 UTF-8。
|
||
- 字段名使用中文 Unicode,例如 `企业名称`、`工作地点`。
|
||
- 原始响应中可能显示为 `\u4f01\u4e1a\u540d\u79f0`,这是 JSON Unicode 转义,不是加密;调用 `response.json()` 后会自动还原为 `企业名称`。
|
||
- 字段值是普通字符串、数字、数组或 `null`,不需要额外解码。
|
||
- `公告链接`、`投递地址` 是 URL 字符串;其中的 query 参数按 URL 编码规则处理。
|
||
|
||
## 四、返回结构
|
||
|
||
```json
|
||
{
|
||
"success": true,
|
||
"data": [
|
||
{
|
||
"_row_number": 1,
|
||
"企业名称": "拼多多集团",
|
||
"企业性质": "民企",
|
||
"公告链接": "https://careers.pddglobalhr.com/campus/grad?t=XM8nweKyRe",
|
||
"学历要求": "详见公告",
|
||
"工作地点": "上海",
|
||
"开始时间": "2026-07-21",
|
||
"截止时间": "招满为止",
|
||
"投递地址": "https://careers.pddglobalhr.com/campus/grad?t=XM8nweKyRe",
|
||
"招聘公告": "拼多多集团",
|
||
"招聘批次": "秋招提前批",
|
||
"更新时间": "2026-07-21",
|
||
"毕业年份": "2027",
|
||
"职位": "商家运营服务端研发工程师...",
|
||
"行业": ""
|
||
}
|
||
],
|
||
"pagination": {},
|
||
"file_info": {},
|
||
"headers": [],
|
||
"navigation": {}
|
||
}
|
||
```
|
||
|
||
Python 读取示例:
|
||
|
||
```python
|
||
import requests
|
||
|
||
response = requests.get(
|
||
"https://offerqingbaoju.cn/api/simple/navigation/60/data",
|
||
params={"page": 1, "per_page": 2000},
|
||
timeout=30,
|
||
)
|
||
response.raise_for_status()
|
||
payload = response.json()
|
||
rows = payload["data"]
|
||
```
|