NAV
python php java go

概述

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。

图像生成文本👁️‍🗨️

基于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 = {"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

全语种网页正文抽取📑

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

代码示例:

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 银行卡详情