NAV

概述

wenlanapi提供如图像生成文本、PM2.5数据查询、全球手机号码运营商归属地查询、中国身份证信息查询、全球银行卡信息查询等数据API接口以及提供如全语种网页文章正文抽取、文章关键词抽取、自然语言解析等基础技术API接口。

wenlanapi服务后台需要通过使用Access Key / Secret Key加密的方法来验证某个请求的发送者身份。Access Key(AK)用于标示用户,Secret Key(SK)是用户用于加密认证字符串和wenlanapi服务用来验证认证字符串的密钥,其中SK必须保密,只有用户和wenlanapi知道。

SDK初始化,需要用户先申请到属于自己的AK和SK。

请确保将YOUR_ACCESS_KEYYOUR_SECRET_KEY替换为你自己的AK和SK。

用户认证

我们使用apiKey来认证用户,您可以在开发者门户中获取apiKey。

apiKey需要包含在所有的API请求中,请求Header如下:

X-Api-Key: meowmeowmeow

身份证识别

中国身份证信息查询🆔

查询身份证的基本信息,包括发证地区、出生年月日和性别及有效性。

代码示例:

import sdk

api = sdk.client('YOUR_ACCESS_KEY', 'YOUR_SECRET_KEY')
data = {"id": "330825197801104539"}
url = "https://api.crawler.club/idcard"
response = api.request(url, data)
print(response)
<?php
require_once "crawlerclub/Client.php";

$client = new Client("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY");
$url = "https://api.crawler.club/idcard";
$data = array("id"=>"330825197801104539");
$response = $client->request($url, $data);
print($response);
import java.util.HashMap;
import java.util.Map;
import club.crawler.Client;

public class MainClass {
    public static void main(String[] args) {
        Client api = new Client("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY");
        Map<String, String> data = new HashMap<>();
        data.put("id", "330825197801104539");
        String url = "https://api.crawler.club/idcard";
        String response = client.request(url, data);
        System.out.println(response);
    }
}
package main

import (
    "fmt"
    "crawler.club/gosdk"
)

func main() {
    api := gosdk.NewClient("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY")
    data := map[string]string{
        "id":  "330825197801104539",
    }
    url := "https://api.crawler.club/idcard"
    response, _ := api.Request(url, data)
    fmt.Println(response)
}

正确返回数据应答样例

{
  "status":"ok",
  "message":{
    "id":"330825197801104539",
    "birthday":"1978-01-10T00:00:00Z",
    "gender":"male",
    "province":"浙江省",
    "city":"衢州市",
    "county":"龙游县"
  }
}

请求错误应答样例

{
  "status":"fail",
  "message":"checksum not correct"
}

HTTP请求

POST https://api.crawler.club/idcard

请求参数

参数 描述
id 字符串,要查询的身份证号码

状态码说明

status 说明
ok 查找成功
fail 失败,此时message保存错误信息

身份证号码信息说明

字段 说明
id 身份证号码
birthday 出生日期
gender 性别
province
city
county

身份证 OCR

身份证OCR字段识别

代码示例:

curl --location --request POST 'https://api.aisolution.credit/v1/ocr_cn' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'img=BASE64_ENCODE_VALUE'

身份证正面的识别样例

{
    "status":"OK",
    "message":{
        "identityNo": "6123221985032345",
        "name": "张三",
        "gender": "男",
        "ethnic": "汉",
        "birthDate": "1993年3月03日",
        "birthPlace": "北京市海淀区学院路219号1-1"
    }
}

身份证反面的识别样例

{
    "status":"OK",
    "message":{
        "nationality": "中华人民共和国",
        "cType": "居民身份证",
        "authority": "北京市公安局海淀分局",
        "effectiveDate": "2014.09.25-2034.09.25"
    }
}

图片识别失败样例

{
  "status": "FAIL",
  "message": "check input image and retry"
}

请求参数错误

{
  "status": "INVALID_REQUEST",
  "message": "check request params"
}

上传的图片格式错误应答样例

{
  "status": "IMAGE_INVALID_FORMAT",
  "message": "image format not support"
}

照片超过2M应答样例

{
  "status": "IMAGE_INVALID_SIZE",
  "message": "image larger than 2M"
}

服务器内部错误

{
    "status": "RETRY_LATER",
    "message": "Service is not available right now, please try again later"
}

HTTP请求

POST https://api.aisolution.credit/v1/ocr_cn

请求参数

参数 描述
img 字符串,base64编码的身份证照片,建议图片小于200KB,这样会在2秒内返回,否则返回时间较长。

返回数据格式

参数 描述
status 状态码
message identityNo:身份证号码,可能为空
name:姓名,可能为空
gender:性别,可能为空
ethnic:种族,可能为空
birthDate:出生日期,可能为空
birthPlace:出生地,可能为空
nationality:国籍,可能为空
cType:卡片类型,可能为空
authority:颁发机构,可能为空
effectiveDate:有效期,可能为空

其它证照识别

护照 OCR

护照OCR字段识别

代码示例:

curl --location --request POST 'https://api.aisolution.credit/v1/ocr_ppt' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'img=BASE64_ENCODE_VALUE'

护照的识别样例

{
    "status":"OK",
    "message":{
        "nationality": "中国/CHINESE",
        "cType": "P",
        "countryCode": "CHN",
        "passportNo": "E45999999",
        "nameZh": "张三",
        "nameEn": "ZHANG, SAN",
        "gender": "男/M",
        "birthDate": "03 MAR 1993",
        "issueDate": "12 3月/MAR 2015",
        "expiryDate": "11 3月/MAR 2025",
        "birthPlace": "北京/BEIJING",
        "issuePlace": "辽宁/LIAONING",
        "authority": "公安部出入境管理局",
        "pNo": "459999999"
    }
}

图片识别失败样例

{
  "status": "FAIL",
  "message": "check input image and retry"
}

请求参数错误

{
  "status": "INVALID_REQUEST",
  "message": "check request params"
}

上传的图片格式错误应答样例

{
  "status": "IMAGE_INVALID_FORMAT",
  "message": "image format not support"
}

照片超过2M应答样例

{
  "status": "IMAGE_INVALID_SIZE",
  "message": "image larger than 2M"
}

服务器内部错误

{
    "status": "RETRY_LATER",
    "message": "Service is not available right now, please try again later"
}

HTTP请求

POST https://api.aisolution.credit/v1/ocr_ppt

请求参数

参数 描述
img 字符串,base64编码的身份证照片,建议图片小于200KB,这样会在2秒内返回,否则返回时间较长。

返回数据格式

参数 描述
status 状态码
message nationality: 国籍,可能为空
countryCode: 国家码,可能为空
passportNo: 护照号,可能为空
nameZh: 中文姓名,可能为空
nameEn: 英文姓名,可能为空
gender: 性别,可能为空
birthDate: 出生日期,可能为空
issueDate: 签发时间,可能为空
expiryDate: 失效时间,可能为空
birthPlace: 出生地,可能为空
issuePlace: 签发地,可能为空
authority: 颁发机构,可能为空
cType: 卡片类型,可能为空
pNo: 卡号,可能为空

海员证 OCR

海员证OCR字段识别

代码示例:

curl --location --request POST 'https://api.aisolution.credit/v1/ocr_smb' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'img=BASE64_ENCODE_VALUE'

识别成功返回样例

{
    "status":"OK",
    "message":{
        "nationality": "中国/CHINESE",
        "countryCode": "CHN",
        "seafarerNo": "A01099999",
        "nameZh": "张三",
        "nameEn": "LIU JIAWEI",
        "gender": "男/M",
        "cType": "S",
        "birthDate": "22 MAR 1991",
        "issueDate": "07 AUG 2019",
        "expiryDate": "07 AUG 2024",
        "birthPlace": "北京/BEIJING",
        "authority": "中华人民共和国辽宁海事局"
    }
}

图片识别失败样例

{
  "status": "FAIL",
  "message": "check input image and retry"
}

请求参数错误

{
  "status": "INVALID_REQUEST",
  "message": "check request params"
}

上传的图片格式错误应答样例

{
  "status": "IMAGE_INVALID_FORMAT",
  "message": "image format not support"
}

照片超过2M应答样例

{
  "status": "IMAGE_INVALID_SIZE",
  "message": "image larger than 2M"
}

服务器内部错误

{
    "status": "RETRY_LATER",
    "message": "Service is not available right now, please try again later"
}

HTTP请求

POST https://api.aisolution.credit/v1/ocr_smb

请求参数

参数 描述
img 字符串,base64编码的身份证照片,建议图片小于200KB,这样会在2秒内返回,否则返回时间较长。

返回数据格式

参数 描述
status 状态码
message nationality: 国籍,可能为空
countryCode: 国家码,可能为空
seafarerNo: 海员号,可能为空
nameZh: 中文名,可能为空
nameEn: 英文名,可能为空
gender: 性别,可能为空
cType: 卡片类型,可能为空
birthDate: 出生日期,可能为空
issueDate: 签发日期,可能为空
expiryDate: 失效日期,可能为空
birthPlace: 出生地,可能为空
authority: 颁发机构,可能为空

船员服务簿 OCR

船员服务簿OCR字段识别

代码示例:

curl --location --request POST 'https://api.aisolution.credit/v1/ocr_sbr' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'img=BASE64_ENCODE_VALUE'

识别成功返回样例

{
    "status":"OK",
    "message":{
	"name": "张三",
	"registerNo": "230123199103032090",
	"printNo": "01611666",
	"sbrNo": "0161166",
	"issueDate": "2015-05-04",
	"authority": "中华人民共和国海事局"
    }
}
{
    "status":"OK",
    "message":{
	"nationality": "中国",
	"nameZh": "张三",
	"nameEn": "LiuJiawei",
	"registerNo": "230123199103033333",
	"printNo": "23012333",
	"sbrNo": "2301233",
	"birthDateZh": "1991年03月03日",
	"birthDateEn": "Mar 03, 1991",
	"issueDateZh": "2015年05月04日",
	"issueDateEn": "May 04, 2015",
	"authority": "中华人民共和国大连海事局"

    }
}

图片识别失败样例

{
  "status": "FAIL",
  "message": "check input image and retry"
}

请求参数错误

{
  "status": "INVALID_REQUEST",
  "message": "check request params"
}

上传的图片格式错误应答样例

{
  "status": "IMAGE_INVALID_FORMAT",
  "message": "image format not support"
}

照片超过2M应答样例

{
  "status": "IMAGE_INVALID_SIZE",
  "message": "image larger than 2M"
}

服务器内部错误

{
    "status": "RETRY_LATER",
    "message": "Service is not available right now, please try again later"
}

HTTP请求

POST https://api.aisolution.credit/v1/ocr_sbr

请求参数

参数 描述
img 字符串,base64编码的身份证照片,建议图片小于200KB,这样会在2秒内返回,否则返回时间较长。

返回数据格式

参数 描述
status 状态码
message name: 姓名,可能为空
registerNo: 注册号,可能为空
printNo: 服务簿印刷号,可能为空
sbrNo: 编号,可能为空
issueDate: 签发日期,可能为空
authority: 颁发机构,可能为空
nationality: 国家,可能为空
nameZh: 中文名,可能为空
nameEn: 英文名,可能为空
birthDateZh: 中文出生日期,可能为空
birthDateEn: 英文出生日期,可能为空
issueDateZh: 中文签发日期,可能为空
issueDateEn: 英文签发日期,可能为空
authority: 颁发机构,可能为空

台塑海运ECDIS OCR

台塑海运ECDIS OCR字段识别

代码示例:

curl --location --request POST 'https://api.aisolution.credit/v1/ocr_fpmc' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'img=BASE64_ENCODE_VALUE'

识别成功返回样例

{
    "status":"OK",
    "message":{
	"ctype": "FPMC",
	"name": "ZHANG SAN",
	"courseNumber": "ECDIS01",
	"trainDays": "2 days",
	"courseTitle": "FURUNO ECDIS Type Specific Training Course",
	"certificateNo": "KS00666",
	"birthDate": "MAR.03, 1991",
	"issueDate": "MAR.16, 2017",
	"content": "Familiarization with available function, Familiarization with the menu structure, Display setup, Setting of safety values, Recognition of the alarms and malfunction indicators and the action to be taken, Route planning, Route monitoring, Changing over to backup systems, Loading charts and licenses, Updating of software",
	"operationalModel": "FMD - xx00",
	"courseStartDate": "MAR 15,2017",
	"courseEndDate": "MAR 16,2017"
    }
}
> 图片识别失败样例

```json
{
  "status": "FAIL",
  "message": "check input image and retry"
}

请求参数错误

{
  "status": "INVALID_REQUEST",
  "message": "check request params"
}

上传的图片格式错误应答样例

{
  "status": "IMAGE_INVALID_FORMAT",
  "message": "image format not support"
}

照片超过2M应答样例

{
  "status": "IMAGE_INVALID_SIZE",
  "message": "image larger than 2M"
}

服务器内部错误

{
    "status": "RETRY_LATER",
    "message": "Service is not available right now, please try again later"
}

HTTP请求

POST https://api.aisolution.credit/v1/fpmc

请求参数

参数 描述
img 字符串,base64编码的身份证照片,建议图片小于200KB,这样会在2秒内返回,否则返回时间较长。

返回数据格式

参数 描述
status 状态码
message ctype: 卡片类型,可能为空
name: 姓名,可能为空
courseNumber: 课程编号,可能为空
trainDays: 培训天数,可能为空
courseTitle: 培训科目,可能为空
certificateNo: 证书编号,可能为空
birthDate: 出生日期,可能为空
issueDate: 签发日期,可能为空
content: 培训内容,可能为空
operationalModel: 培训模式,可能为空
courseStartDate: 课程开始时间,可能为空
courseEndDate: 课程结束时间,可能为空

巴拿马登船证 OCR

巴拿马登船证OCR字段识别

代码示例:

curl --location --request POST 'https://api.aisolution.credit/v1/ocr_panama' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'img=BASE64_ENCODE_VALUE'

识别成功返回样例一

{
    "status":"OK",
    "message":{
	"ctype": "XU",
	"countryCode": "PAN",
	"nationality": "CHINESE",
	"name": "SAN ZHANG",
	"gender": "M",
	"seamanBook": "P0567777",
	"idNumber": "E31404777",
	"seafarerId": "500429953",
	"birthDate": "17-09-1980",
	"birthPlace": "BEIJING",
	"issueDate": "18-03-2020",
	"expiryDate": "12-11-2024",
	"regional": "HO CHI MINH",
	"level": "SUPPORT",
	"capacity": "COOK MLC 2006, Standard 3.2.4"
    }
}

识别成功返回样例二

{
    "status":"OK",
    "message":{
	"ctype": "COURSES ENDORSEMENT CERTIFICATE",
	"nationality": "CHINA / CHINESE",
	"name": "SAN ZHANG",
	"no": "000976888",
	"specialDuty": "SECURITY AWARENESS TRAINING FOR ALL SEAFARERS, REG. VI8, PAR. 1-3, SEC. A-VIS, TABLE A-VI/6-1 (IMO 3.27)",
	"birthDate": "17/09/1980",
	"issueDate": "18/03/2020",
	"expiryDate": "12/11/2024"
    }
}

识别成功返回样例三

{
    "status":"OK",
    "message":{
	"ctype": "COURSES ENDORSEMENT CERTIFICATE",
	"nationality": "CHINA / CHINESE",
	"name": "SAN ZHANG",
	"no": "000976666",
	"specialDuty": "SHIPS COOK COURSE, IN ACCORDANCE WITH MLC 2006, STANDARD 3.2.4 OR ILO 69",
	"birthDate": "03/03/1980",
	"issueDate": "18/03/2020",
	"expiryDate": "02/06/2021"
    }
}

图片识别失败样例

{
  "status": "FAIL",
  "message": "check input image and retry"
}

请求参数错误

{
  "status": "INVALID_REQUEST",
  "message": "check request params"
}

上传的图片格式错误应答样例

{
  "status": "IMAGE_INVALID_FORMAT",
  "message": "image format not support"
}

照片超过2M应答样例

{
  "status": "IMAGE_INVALID_SIZE",
  "message": "image larger than 2M"
}

服务器内部错误

{
    "status": "RETRY_LATER",
    "message": "Service is not available right now, please try again later"
}

HTTP请求

POST https://api.aisolution.credit/v1/ocr_panama

请求参数

参数 描述
img 字符串,base64编码的身份证照片,建议图片小于200KB,这样会在2秒内返回,否则返回时间较长。

返回数据格式

参数 描述
status 状态码
message ctype: 卡片类型,可能为空
countryCode: 国家码,可能为空
nationality: 国家,可能为空
name: 姓名,可能为空
gender: 性别,可能为空
seamanBook: 海员薄,可能为空
idNumber: 证书ID,可能为空
seafarerId: 船员编号,可能为空
birthDate: 出生日期,可能为空
birthPlace: 出生地,可能为空
regional: 区域,可能为空
level: 等级,可能为空
capacity: 技能,可能为空
ctype: 卡片类型,可能为空
no: 技能科目编号,可能为空
ctype: 卡片类型,可能为空
specialDuty: 技能,可能为空
issueDate: 签发日期,可能为空
expiryDate: 失效日期,可能为空

图像生成文本👁️‍🗨️

基于BriVL (Bridging Vision and Language Model)的图像生成文本模型。

代码示例:

import sdk

api = sdk.client('YOUR_ACCESS_KEY', 'YOUR_SECRET_KEY')
data = data = {"img": "BASE64_ENCODE_VALUE"}
url = "https://wenlanapi.iir.ac.cn/v1/image2text"
response = api.request(url, data)
print(response)
<?php
require_once "crawlerclub/Client.php";

$client = new Client("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY");
$url = "https://wenlanapi.iir.ac.cn/v1/image2text";
$data = array("img"=>"BASE64_ENCODE_VALUE");
$response = $client->request($url, $data);
print($response);
import java.util.HashMap;
import java.util.Map;
import club.crawler.Client;

public class MainClass {
    public static void main(String[] args) {
        Client api = new Client("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY");
        Map<String, String> data = new HashMap<>();
        data.put("img", "BASE64_ENCODE_VALUE");
        String url = "https://wenlanapi.iir.ac.cn/v1/image2text";
        String response = client.request(url, data);
        System.out.println(response);
    }
}
package main

import (
    "fmt"
    "crawler.club/gosdk"
)

func main() {
    api := gosdk.NewClient("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY")
    data := map[string]string{
        "img": "BASE64_ENCODE_VALUE",
    }
    url := "https://wenlanapi.iir.ac.cn/v1/image2text"
    response, _ := api.Request(url, data)
    fmt.Println(response)
}

正确返回数据应答样例

{
  "status": "SUCCESS",
  "message": {
    "text": "一个戴眼镜的年轻人的肖像",
    "type": "text",
    "score": 0.731838774222594
  }
}

图片超过2M应答样例

{
  "status":"FAIL",
  "message":"No more than 2mb!"
}

HTTP请求

POST https://wenlanapi.iir.ac.cn/v1/image2text

请求参数

参数 描述
img 字符串,base64编码图片

返回数据格式

参数 描述
status 状态码
message type:返回类型,text为文本语句,tags为文本标签
text:如果typetext则有此字段,保存图片生成的文本语句
tags:如果typetags则有此字段,保存图片生成的文本标签
score:图片生成文本的置信度,为0~1之间的小数

状态码说明

status 说明
SUCCESS 查找成功
FAIL 失败,此时message保存错误信息

PM2.5空气质量指数☁️

支持全国300多个城市的空气质量指数(AQI)查询,返回各观测站PM2.5、PM10、一氧化碳、二氧化氮、臭氧、二氧化硫等分指数信息,每小时更新一次。

代码示例:

import sdk

api = sdk.client('YOUR_ACCESS_KEY', 'YOUR_SECRET_KEY')
data = {"city": "beijing", "time": "2018051209"}
url = "https://api.crawler.club/pm25"
response = api.request(url, data)
print(response)
<?php
require_once "crawlerclub/Client.php";

$client = new Client("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY");
$url = "https://api.crawler.club/pm25";
$data = array("city"=>"beijing", "time"=>"2018051209");
$response = $client->request($url, $data);
print($response);
import java.util.HashMap;
import java.util.Map;
import club.crawler.Client;

public class MainClass {
    public static void main(String[] args) {
        Client api = new Client("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY");
        Map<String, String> data = new HashMap<>();
        data.put("city", "beijing");
        data.put("time", "2018051209");
        String url = "https://api.crawler.club/pm25";
        String response = client.request(url, data);
        System.out.println(response);
    }
}
package main

import (
    "fmt"
    "crawler.club/gosdk"
)

func main() {
    api := gosdk.NewClient("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY")
    data := map[string]string{
        "city": "beijing",
        "time": "2018051209",
    }
    url := "https://api.crawler.club/pm25"
    response, _ := api.Request(url, data)
    fmt.Println(response)
}

正确返回数据应答样例

{
  "status":"ok",
  "message":{
    "city_id":"beijing",
    "city":"北京",
    "update_time":"2018-05-12T09:00:00+08:00",
    "stations":[
      {
        "aqi":"269",
        "co":"2.3",
        "no2":"55",
        "o3":"31",
        "o3_8h":"8",
        "pm10":"_",
        "pm2_5":"219",
        "position_name":"海淀区万柳",
        "primary_pollutant":"细颗粒物(PM2.5)",
        "quality":"重度污染",
        "so2":"5"
      },
      {
        "aqi":"260",
        "co":"2.3",
        "no2":"59",
        "o3":"11",
        "o3_8h":"3",
        "pm10":"_",
        "pm2_5":"210",
        "position_name":"奥体中心",
        "primary_pollutant":"细颗粒物(PM2.5)",
        "quality":"重度污染",
        "so2":"2"
      }
    ]
  }
}

数据不存在应答样例

{
  "status":"fail",
  "message":"data not found"
}

HTTP请求

POST https://api.crawler.club/pm25

请求参数

参数 描述
city 字符串,要查询的城市
time 可选字符串,格式为YYYYMMDDHH

返回数据格式

参数 描述
status 状态码
message city_id:城市拼音
city:城市中文名称
update_time:数据时间
stations:此城市各个监测站具体数据

状态码说明

status 说明
ok 查找成功
fail 失败,此时message保存错误信息

监测点数据说明

数值单位:μg/m3COmg/m3

字段 说明
position_name 监测点
aqi AQI
quality 空气质量/指数类别
primary_pollutant 首要污染物
pm2_5 PM2.5/细颗粒物
pm10 PM10/可吸入颗粒物
co CO/一氧化碳
no2 NO2/二氧化氮
o3 O3/臭氧1小时平均
o3_8h O3/臭氧8小时平均
so2 SO2/二氧化硫

全球电话运营商归属地查询☎️

全球电话运营商归属地查询,上亿条数据量,更新及时、准确度高,数据权威。

代码示例:

import sdk

api = sdk.client('YOUR_ACCESS_KEY', 'YOUR_SECRET_KEY')
data = {"number": "13800138000", "country": "CN"}
url = "https://api.crawler.club/phone"
response = api.request(url, data)
print(response)
<?php
require_once "crawlerclub/Client.php";

$client = new Client("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY");
$url = "https://api.crawler.club/phone";
$data = array("number"=>"13800138000", "country"=>"CN");
$response = $client->request($url, $data);
print($response);
import java.util.HashMap;
import java.util.Map;
import club.crawler.Client;

public class MainClass {
    public static void main(String[] args) {
        Client api = new Client("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY");
        Map<String, String> data = new HashMap<>();
        data.put("number", "13800138000");
        data.put("country", "CN");
        String url = "https://api.crawler.club/phone";
        String response = client.request(url, data);
        System.out.println(response);
    }
}
package main

import (
    "fmt"
    "crawler.club/gosdk"
)

func main() {
    api := gosdk.NewClient("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY")
    data := map[string]string{
        "number":  "13800138000",
        "country": "CN",
    }
    url := "https://api.crawler.club/phone"
    response, _ := api.Request(url, data)
    fmt.Println(response)
}

正确返回数据应答样例

{
  "status":"ok",
  "message":{
    "country_code":86,
    "national_number":13800138000,
    "is_valid_number":true,
    "number_type":"MOBILE",
    "e164":"+8613800138000",
    "region_code":"CN",
    "location":{
      "en":"Beijing",
      "zh":"北京市"
    },
    "time_zones":[
      "Asia/Shanghai"
    ],
    "carrier":{
      "en":"China Mobile",
      "zh":"中国移动"
    }
  }
}

请求错误应答样例

{
  "status":"fail",
  "message":"The phone number supplied is not a number."
}

HTTP请求

POST https://api.crawler.club/phone

请求参数

参数 描述
number 字符串,要查询的电话号码
country 可选字符串,国家码,默认为CN中国🇨🇳

状态码说明

status 说明
ok 查找成功
fail 失败,此时message保存错误信息

电话号码信息说明

字段 说明
country_code 国家代码,比如中国为86
national_number 国内呼叫号码
is_valid_number 是否合法电话号码
number_type 号码类型,MOBILEFIXED_LINE
e164 e164格式化号码
region_code 区域代码,比如中国为CN
location 归属地,多语种
time_zones 时区
carrier 运营商,多语种

全语种网页正文抽取📑

对文章类网页抽取正文、标题、发布时间、正文图片、作者、语种、地区、关键词等信息,支持全球各语种网站。

代码示例:

import sdk

api = sdk.client('YOUR_ACCESS_KEY', 'YOUR_SECRET_KEY')
data = {"url": "https://news.qq.com/a/20180517/001214.htm"}
url = "https://api.crawler.club/htmlextract"
response = api.request(url, data)
print(response)
<?php
require_once "crawlerclub/Client.php";

$client = new Client("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY");
$url = "https://api.crawler.club/htmlextract";
$data = array("url"=>"https://news.qq.com/a/20180517/001214.htm");
$response = $client->request($url, $data);
print($response);
import java.util.HashMap;
import java.util.Map;
import club.crawler.Client;

public class MainClass {
    public static void main(String[] args) {
        Client api = new Client("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY");
        Map<String, String> data = new HashMap<>();
        data.put("url", "https://news.qq.com/a/20180517/001214.htm");
        String url = "https://api.crawler.club/htmlextract";
        String response = client.request(url, data);
        System.out.println(response);
    }
}
package main

import (
    "fmt"
    "crawler.club/gosdk"
)

func main() {
    api := gosdk.NewClient("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY")
    data := map[string]string{
        "url":  "https://news.qq.com/a/20180517/001214.htm",
    }
    url := "https://api.crawler.club/htmlextract"
    response, _ := api.Request(url, data)
    fmt.Println(response)
}

正确返回数据应答样例

{
  "status":"ok",
  "message":{
    "url":"https://news.qq.com/a/20180517/001214.htm",
    "from":"qq.com",
    "site_info":{
      "Flag":1,
      "Sub":"news",
      "Root":"qq",
      "Tld":"com"
    },
    "canonical_url":"",
    "title":"国家重点研发计划立项密集发布 16专项经费51亿元",
    "text":"资料图:图为世界上首颗量子科学实验卫星“墨子号”模型。(资料图片)中新社记者 韩苏原 摄
随着“高性能计算”、“增材制造与激光制造”等重点专项拟资助项目相继公示,2018年度国家重点研发计划立项工作拉开了大幕。《经济参考报》记者16日从科技部获悉,近期三个批次的项目清单密集发布,涉及高新技术和基础研究领域在内的16个专项237个项目,国拨经费共计51亿元,其中量子调控与量子信息、纳米技术和新能源汽车等领域成为未来科研经费重点投向。
...",
    "html":"<p><img src=\"http://inews.gtimg.com/newsapp_bt/0/3603873903/641\" /></p>
<p>资料图:图为世界上首颗量子科学实验卫星“墨子号”模型。(资料图片)中新社记者 韩苏原 摄</p>
<p>随着“高性能计算”、“增材制造与激光制造”等重点专项拟资助项目相继公示,2018年度国家重点研发计划立项工作拉开了大幕。《经济参考报》记者16日从科技部获悉,近期三个批次的项目清单密集发布,涉及高新技术和基础研究领域在内的16个专项237个项目,国拨经费共计51亿元,其中量子调控与量子信息、纳米技术和新能源汽车等领域成为未来科研经费重点投向。</p>
...",
    "language":"cmn",
    "location":"CN",
    "favicon":"https://mat1.gtimg.com/www/icon/favicon2.ico",
    "images":[
      "http://inews.gtimg.com/newsapp_bt/0/3603873903/641"
    ],
    "tags":"国家重点研发计划立项密集发布 16专项经费51亿元,新能源,科技部,高技术",
    "author":"",
    "publish_date":"2018-05-17T04:02:00+08:00"
  }
}

请求错误应答样例


{
  "status":"fail",
  "message":"error infomation"
}

HTTP请求

POST https://api.crawler.club/htmlextract

请求参数

参数 描述
url 字符串,要进行正文抽取的网页URL

状态码说明

status 说明
ok 查找成功
fail 失败,此时message保存错误信息

正文信息说明

字段 说明
url 网页URL
title 文章标题
text 文章正文
html 文章正文,HTML版本
publish_date 发布时间
images 正文图片
language 网页语言
location 国家,ISO 3166-1 alpha-2 Country Codes
author 作者
tags 关键词

全球银行卡校验与信息查询💳

查询全球银行卡的基本信息,包括发卡银行名称、网址、银行卡类型及有效性。

代码示例:

import sdk

api = sdk.client('YOUR_ACCESS_KEY', 'YOUR_SECRET_KEY')
data = {"id": "6222000200124846494"}
url = "https://api.crawler.club/bankcard"
response = api.request(url, data)
print(response)
<?php
require_once "crawlerclub/Client.php";

$client = new Client("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY");
$url = "https://api.crawler.club/bankcard";
$data = array("id"=>"6222000200124846494");
$response = $client->request($url, $data);
print($response);
import java.util.HashMap;
import java.util.Map;
import club.crawler.Client;

public class MainClass {
    public static void main(String[] args) {
        Client api = new Client("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY");
        Map<String, String> data = new HashMap<>();
        data.put("id", "6222000200124846494");
        String url = "https://api.crawler.club/bankcard";
        String response = client.request(url, data);
        System.out.println(response);
    }
}
package main

import (
    "fmt"
    "crawler.club/gosdk"
)

func main() {
    api := gosdk.NewClient("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY")
    data := map[string]string{
        "id":  "6222000200124846494",
    }
    url := "https://api.crawler.club/bankcard"
    response, _ := api.Request(url, data)
    fmt.Println(response)
}

正确返回数据应答样例


{
  "status":"ok",
  "message":{
    "name":"icbc",
    "country":"cn",
    "localTitle":"中国工商银行",
    "engTitle":"Industrial and Commercial Bank of China",
    "url":"http://www.icbc.com.cn",
    "color":"#c90000",
    "card_type":"dc",
    "length":19,
    "prefixes":0,
    "number":"6222000200124846494",
    "detail":"工商银行·灵通卡"
  }
}

请求错误应答样例

{
  "status":"fail",
  "message":"invalid card number"
}

HTTP请求

POST https://api.crawler.club/bankcard

请求参数

参数 描述
id 字符串,要查询的银行卡号

状态码说明

status 说明
ok 查找成功
fail 失败,此时message保存错误信息

银行卡号信息说明

字段 说明
number 银行卡号
name 银行卡Code
country 银行卡所属国家码
localTitle 银行名字,本地语言
engTitle 银行名字,英语
url 银行网址
color 银行颜色
card_type 银行卡类型
detail 银行卡详情

试卷答案抽取👁️‍🗨️

用于从纸质或电子试卷中精准提取学生的答案。该服务能够快速、自动化地处理各种试卷格式,并提取包括单选择题、多选题和判断题在内的答案内容

代码示例:

curl -X POST 'https://api.fusearch.cn/ai/recognition' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: API-KEY' \
-d '{
    "images": [
        {"image_b64": BASE64_ENCODE_VALUE}
    ]
}'
import requests

url = "https://api.fusearch.cn/ai/recognition"
api_key = "API-KEY"

headers = {
    "accept": "application/json",
    "Content-Type": "application/json",
    "X-API-KEY": api_key
}

data = {
    "images": [
        {"image_b64": "BASE64_ENCODE_VALUE"}
    ]
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

正确返回数据应答样例

[{
	"exam_structure": [{
			"options": [
				"A.蜜蜂和昆虫",
				"B.米粉和大米",
				"C.汽车和润滑油",
				"D.戏迷和美食家"
			],
			"question_number": "8",
			"question_text": "与“科学家-画家”的逻辑关系相同的是(多选题)",
			"question_type": "multiple_choice",
			"user_answer": [
				"B",
				"C"
			]
		},
		{
			"options": [
				"A.其含义有三:1.记载和解释作",
				"B.为一系列人类进程历史事件的一门学科;2.沿",
				"C.革,来历;3.过去的事实。历史的问题在",
				"D.于不断发现真的过去,在于用材料说话,让"
			],
			"question_number": "9",
			"question_text": "大年龄的特殊问题有哪些(单选题)",
			"question_type": "multiple_choice",
			"user_answer": "C"
		},
		{
			"options": [
				"A.老舍《骆驼祥子》二一:“夏太太大概不会留着个知道她的历史的",
				"B.《二十年目睹之怪现状》第三回:“这便是野鸡道台的历史了。”",
				"C.是其略也”裴松之注引《吴书》:“(吴王)志存经略,虽有馀闲,博览书传历\n史,藉采奇异,不效诸生寻章摘句而已。”",
				"D.聪\n也…………………屈身於陛下,"
			],
			"question_number": "10",
			"question_text": "《三国志·吴志·吴主传》“纳鲁肃于凡品,是其(多选题)",
			"question_type": "multiple_choice",
			"user_answer": [
				"B",
				"C"
			]
		},
		{
			"question_number": "11",
			"question_text": "11.2013年我国设立了首个自由贸易区(问答题)",
			"question_type": "open_ended",
			"user_answer": ""
		},
		{
			"options": [
				"是",
				"否"
			],
			"question_number": "12",
			"question_text": "爱护教室的洁净卫生,不乱吐、乱丢、乱画。",
			"question_type": "multiple_choice",
			"user_answer": "是"
		},
		{
			"options": [
				"A.表中数据也被删除,但可用”撤销”来恢复",
				"B.数据仍然保存在内存里,只不过是不再显示",
				"C. Excel中,工作表被删除后,数据全部一起被删除,且是不可以用撤销键来恢复的",
				"D.数据进入了回收站,可以去回收站将数据恢复"
			],
			"question_number": "13",
			"question_text": "EXCEL中,工作表被删除后,下列说法正确的是(单选题)",
			"question_type": "multiple_choice",
			"user_answer": "C"
		},
		{
			"options": [
				"A.蜜蜂和昆虫",
				"B.米粉和大米",
				"C.汽车和润滑油",
				"D.戏迷和美食家"
			],
			"question_number": "14",
			"question_text": "与“科学家-画家”的逻辑关系相同的是(多选题)",
			"question_type": "multiple_choice",
			"user_answer": [
				"B",
				"C"
			]
		},
		{
			"options": [
				"是",
				"否"
			],
			"question_number": "15",
			"question_text": "熟悉和理解《小学生守则》的具体要求。",
			"question_type": "multiple_choice",
			"user_answer": "是"
		}
	],
	"language": "multilingual",
	"markdown": "## 中科乐听评估量表 OCR(样卷)\n\n8.与“科学家-画家”的逻辑关系相同的是(多选题)\n\n□ A.蜜蜂和昆虫\nB.米粉和大米\nC.汽车和润滑油\n□ D.戏迷和美食家\n\n9.大年龄的特殊问题有哪些(单选题)\n\n○ A. 其含义有三:1.记载和解释作\n○ B.为一系列人类进程历史事件的一门学科;2.沿\n● C.革,来历;3.过去的事实。历史的问题在\n○ D.于不断发现真的过去,在于用材料说话,让\n\n10.《三国志·吴志·吴主传》“纳鲁肃于凡品,是其(多选题)\n\n□ A. 老舍《骆驼祥子》二一:“夏太太大概不会留着个知道她的历史的\nB.《二十年目睹之怪现状》第三回:“这便是野鸡道台的历史了。”\n● C.是其略也”裴松之注引《吴书》:“(吴王)志存经略,虽有馀闲,博览书传历\n史,藉采奇异,不效诸生寻章摘句而已。”\n□D.聪\n也…………………屈身於陛下,\n\n11.2013年我国设立了首个自由贸易区(问答题)\n\n12.爱护教室的洁净卫生,不乱吐、乱丢、乱画。\n\n● 是 ○否\n\n13.EXCEL中,工作表被删除后,下列说法正确的是(单选题)\n\n○ A.表中数据也被删除,但可用”撤销”来恢复\n○ B.数据仍然保存在内存里,只不过是不再显示\n● C. Excel中,工作表被删除后,数据全部一起被删除,且是不可以用撤销键来恢复的\n○ D.数据进入了回收站,可以去回收站将数据恢复\n\n14.与“科学家-画家”的逻辑关系相同的是(多选题)\n\n□ A.蜜蜂和昆虫\nB.米粉和大米\nC.汽车和润滑油\n□D.戏迷和美食家\n\n15.熟悉和理解《小学生守则》的具体要求。\n\n● 是 ○否\n\n48/50"
}]

获取不到请求图片的应答案例

{
    "status": "400",
    "message": "no image"
}

系统内部问题的应答案例

{
    "status": "500",
    "message": "no response"
}

HTTP请求

POST https://api.fusearch.cn/ai/recognition

请求参数

参数 描述
images 数组,包含要分析的图片信息的对象列表。每个对象应该有一个image_urlimage_base64键。
image_url 字符串,要分析的图片的URL。每个URL应该指向一个可在线访问的图片资源。
image_base64 字符串,要分析的图片的Base64编码。可以替代image_url使用。

返回数据格式

参数 描述
status 状态码
message city_id:城市拼音
city:城市中文名称
update_time:数据时间
stations:此城市各个监测站具体数据

状态码说明

status 说明
200 请求成功
400 请求失败,参数错误或图片无法获取,此时message包含具体错误信息
500 服务器内部错误,此时message包含错误详情

返回字段数据说明

字段 说明
exam_structure 试卷结构,包含多个题目信息的数组
question_number 题目编号
question_text 题目内容
question_type 题目类型(如单选题、多选题等)
options 选项内容数组(如果适用)
user_answer 用户答案,可能是单个选项或多个选项的数组