Union of hero bots.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

211 lines
4.2 KiB

1 year ago
# Hero Union - 英雄联盟
Union of hero bots.
一个Hero的爬虫联盟。
Hero Union主要做两件事:
* 加入联盟的爬虫将定期到联盟领取网页抓取任务,并将任务结果回传
* 对外提供提交网页抓取任务和获取任务结果的接口供联盟成员使用,并支持任务完成回调通知
## Hero Union 英雄联盟使用流程
### 联盟成员使用流程
1. 调用接口向联盟提交网页抓取任务
2. 任务完成时联盟会主动通知回传任务结果
3. 也可以调用接口查询任务结果
### 联盟的爬虫工作流程
1. 本地启动爬虫后,定期向联盟上报爬虫状态
2. 爬虫定期向联盟领取新的网页抓取任务
3. 爬虫完成网页抓取任务时调用接口上报给联盟
## Hero Union 联盟接口
Hero Union联盟网站:[Hero Union英雄联盟](https://herounion.filesite.io/)。
以下为联盟所有接口的详细文档:
### 爬虫任务领取接口
* 接口网址:
```
https://herounion.filesite.io/api/gettask/
```
* 请求方法:**GET**
* 请求参数:**无**
### 爬虫任务完成回传接口
* 接口网址:
```
https://herounion.filesite.io/api/savetask/
```
* 请求方法:**POST**
* 请求参数:
```
task_id
task_result
timestamp
sign
```
### 提交网页抓取任务接口
* 接口网址:
```
https://herounion.filesite.io/api/newtask/
```
* 请求方法:**POST**
* 请求参数:
```
8 months ago
uuid
1 year ago
url
8 months ago
platform
contract
8 months ago
data_mode
1 year ago
selectors
8 months ago
notify_url
country
lang
sign
1 year ago
```
8 months ago
参数说明:
* platform: url所属平台,目前支持的:抖音、快手、西瓜视频、bilibili
* contract: 数据抓取合约,目前支持的:tajiantv,可由爬虫自己定义并自己实现合约规则
8 months ago
* data_mode: 返回数据格式,默认:json,可选值:json、html
1 year ago
### 查询网页抓取任务结果接口
* 接口网址:
```
https://herounion.filesite.io/api/querytask/
```
* 请求方法:**GET**
* 请求参数:
```
task_id
timestamp
sign
```
### 爬虫任务完成回调通知接口
* 接收通知网址:
```
见提交网页抓取任务接口中的参数:notify_url
```
* 数据格式:JSON,返回header:{Content-Type: application/json}
1 year ago
* 请求方法:**POST**
* 请求参数:
```
task_id
task_result
timestamp
sign
```
### 爬虫状态上报接口
* 接口网址:
```
https://herounion.filesite.io/api/onboard/
```
* 请求方法:**POST**
* 请求参数:
```
name
description
1 year ago
status: [idle, busy]
platforms: 爬虫支持的平台,可由爬虫定义,也可参考本文档底部“国内知名平台名称列表”
contracts: 支持的数据抓取合约,具体内容由爬虫定义
1 year ago
timestamp
8 months ago
country
lang
contact: 可选,爬虫提供方联系方式,将在英雄联盟网站展示,便于大家相互联系
1 year ago
```
其中country国家代码和lang语言代码参数值请参考下面标准:
* [country代码参考两位ISO CODES](https://countrycode.org/)
* [lang语言代码参考ISO 639-1 Code](https://www.loc.gov/standards/iso639-2/php/code_list.php)
1 year ago
### 联盟状态查询接口
* 接口网址:
```
https://herounion.filesite.io/api/stats/
```
* 请求方法:**GET**
* 请求参数:**无**
8 months ago
## 接口参数签名方法
将所有参数按字母排序之后转换成JSON字符串,最后再拼接上token计算MD5值。
8 months ago
示例如下:
```
var token = 'hello world'; //注册联盟后获得的密钥
var params = { //参数示例
"b": 2,
"a": 1,
"t": 234343
};
var sortObj = function(obj) { //参数排序方法
return Object.keys(obj).sort().reduce(function (result, key) {
result[key] = obj[key];
return result;
}, {});
};
//1. 排序参数
var sortedParams = sortObj(params);
//2. 计算MD5值
var sign = md5( JSON.stringify(sortedParams) + token );
8 months ago
```
## 国内知名平台名称列表
以下平台名可作为爬虫支持的平台参考:
* douyin - 抖音
* kuaishou - 快手
* xigua - 西瓜视频
* bilibili - B站
1 year ago
## Hero Union 英雄联盟开发进度
更新日期:2023-11-05
* v0.1 - beta 开发中...
1 year ago
12 months ago
## 参考
npm install 使用代理,本地socks转web proxy软件:
```
https://www.npmjs.com/package/http-proxy-to-socks
```
启动代理软件:
```
hpts -s 127.0.0.1:1080 -p 8002
```