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.
 
 
filesite 744ddc848d api newtask test done 8 months ago
conf api newtask test done 8 months ago
test api newtask test done 8 months ago
.gitignore add npm proxy doc 12 months ago
LICENSE Initial commit 1 year ago
README.md add task max notify time and notify status 8 months ago
common.mjs api newtask test done 8 months ago
heroUnion.mjs api newtask test done 8 months ago
index.mjs test case update 8 months ago
package.json test case update 8 months ago
router_api.mjs api newtask test done 8 months ago

README.md

Hero Union - 英雄联盟

Union of hero bots. 一个Hero的爬虫联盟。

Hero Union主要做两件事:

  • 加入联盟的爬虫将定期到联盟领取网页抓取任务,并将任务结果回传
  • 对外提供提交网页抓取任务和获取任务结果的接口供联盟成员使用,并支持任务完成回调通知

Hero Union 英雄联盟使用流程

联盟成员使用流程

  1. 调用接口向联盟提交网页抓取任务
  2. 任务完成时联盟会主动通知回传任务结果
  3. 也可以调用接口查询任务结果

联盟的爬虫工作流程

  1. 本地启动爬虫后,定期向联盟上报爬虫状态
  2. 爬虫定期向联盟领取新的网页抓取任务
  3. 爬虫完成网页抓取任务时调用接口上报给联盟

Hero Union 联盟接口

Hero Union联盟网站:Hero Union英雄联盟

接口返回值示例及其说明:

执行成功:

{
    "code": 1,
    "message": "完成",
    其它数据...
}

执行失败:

{
    "code": 0,
    "message": "错误信息"
}

以下为联盟所有接口的详细文档:

爬虫任务领取接口

  • 接口网址:
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
  • 请求参数:
uuid
url
platform
contract
data_mode
selectors
notify_url
country
lang
sign

参数说明:

  • platform: url所属平台,目前支持的:抖音、快手、西瓜视频、bilibili
  • contract: 数据抓取合约,目前支持的:tajiantv,可由爬虫自定义并实现合约规则
  • data_mode: 返回数据格式,默认:json,可选值:json、html

返回值: 如果提交完成,会返回新任务数据task。

查询网页抓取任务结果接口

  • 接口网址:
https://herounion.filesite.io/api/querytask/
  • 请求方法:GET
  • 请求参数:
task_id
timestamp
sign

爬虫任务完成回调通知接口

  • 接收通知网址:
见提交网页抓取任务接口中的参数:notify_url
  • 数据格式:JSON,返回header:{Content-Type: application/json}
  • 请求方法:POST
  • 请求参数:
task_id
task_result
timestamp
sign

爬虫状态上报接口

  • 接口网址:
https://herounion.filesite.io/api/onboard/
  • 请求方法:POST
  • 请求参数:
name
description
status: [idle, busy]
platforms: 爬虫支持的平台,可由爬虫定义,也可参考本文档底部“国内知名平台名称列表”
contracts: 支持的数据抓取合约,具体内容由爬虫定义
timestamp
country
lang
contact: 可选,爬虫提供方联系方式,将在英雄联盟网站展示,便于大家相互联系

其中country国家代码和lang语言代码参数值请参考下面标准:

联盟状态查询接口

  • 接口网址:
https://herounion.filesite.io/api/stats/
  • 请求方法:GET
  • 请求参数:

接口参数签名方法

将所有参数按字母排序之后转换成JSON字符串,最后再拼接上token计算MD5值。

示例如下:

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 );

国内知名平台名称列表

以下平台名可作为爬虫支持的平台参考:

  • douyin - 抖音
  • kuaishou - 快手
  • xigua - 西瓜视频
  • bilibili - B站

Hero Union 英雄联盟开发进度

更新日期:2023-11-05

  • v0.1 - beta 开发中...

参考

npm install 使用代理,本地socks转web proxy软件:

https://www.npmjs.com/package/http-proxy-to-socks

启动代理软件:

hpts -s 127.0.0.1:1080 -p 8002