Files
campus_spider/doc/offerqingbaoju.md
2026-07-24 15:50:07 +08:00

103 lines
2.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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"]
```