Scrape API 使用文档

阅读目录

最后更新日期:2024年8月8日
此文档适用于开发者,供开发者高效、便捷的对接数据并快速对接API

接口名称

Amazon页面采集Api
 

接口描述

用于采集Amazon前台任意页面,并支持指定邮编进行采集,以获得与Amazon呈现给消费者一致的页面数据。
接口通过异步的方式返回数据,开发者需部署简单的接收数据的Http服务,我们将采集结果以Http请求的方式推送给您,文末有Java Springboot版接收服务的代码,请参考。
 

请求 URL

http://scrape.pangolinfo.com/api/task/receive/v1
 

请求方法

POST
 

参数

Query请求参数

参数名
参数类型
参数说明
token
String
用户信息认证,请联系管理员获取

请求Body

				
					{
    "url":"https://www.amazon.com/s?k=baby", //必填,要爬取的亚马逊页面url
    "callbackUrl":"http://xxx/xxx", //必填,开发者接收数据的服务地址(爬取成功后,将会把页面数据推送到该地址的服务上)
    "proxySession":"0502f0d18e034e72bd14b026a3964f54",//32位uuid用于指定特定的IP采集,IP可在当天保持,0点后失效
    "callbackHeaders":"k1:v1|k2:v2",//非必填,回调时,附带在请求头上的数据,value值请正确编码
    "bizContext":{//非必填
        "zipcode":"90001" //亚马逊邮编信息(非必填),示例是美国洛杉矶邮编
    }
}
				
			
注意:目前支持如下邮编
				
					美国站:
"10041", "90001", "60601", "84104"

德国站:
"80331", "10115", "20095", "60306"

英国站:
"W1S 3AS", "EH15 1LR", "M13 9PL", "M2 5BQ"

日本站:
"100-0004", "060-8588", "163-8001", "900-8570"

法国站:
"75000", "69001", "06000", "13000"

意大利站:
"20019", "50121", "00042", "30100"

西班牙站:
"41001", "28001", "08001", "46001"

加拿大站:
"M4C 4Y4", "V6E 1N2", "H3G 2K8", "T2R 0G5"
				
			

响应参数:

				
					{
    "code":0, //系统状态码
    "message":"ok",
    "data":{
        "data":"57b049c3fdf24e309043f28139b44d05", //返回爬虫任务ID,爬取成功后会将此ID+页面数据推送到接收服务上
        "bizCode":0, //业务状态码
        "bizMsg":"ok" //业务状态信息
    }
}
				
			

错误码

1001

  • 含义:参数为空 / 参数不正确
  • 解决方案:检查请求参数是否正确
 

1004

  • 含义:访问被拒绝 / Token 不正确 / 超出体验次数
  • 解决方案:请检查Token
 

示例请求

 
1、Curl 示例
				
					# 请求
curl --location 'http://scrape.pangolinfo.com/api/task/receive/v1?token=xxx' \
--header 'Content-Type: application/json' \
--data '{"url":"https://www.amazon.com/s?k=baby","callbackUrl":"http://***.***.***.***/callback/data","bizContext":{"zipcode":"90001"}}'

# 响应
{
    "code":0, //系统状态码
    "message":"ok",
    "data":{
        "data":"57b049c3fdf24e309043f28139b44d05", //返回爬虫任务ID,爬取成功后会将此ID+页面数据推送到接收服务上
        "bizCode":0, //业务状态码
        "bizMsg":"ok" //业务状态信息
    }
}
				
			
2、Java – OKHttp示例
				
					//请求
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"url\":\"https://www.amazon.com/s?k=baby\",\"callbackUrl\":\"http://***.***.***.***/callback/data\",\"bizContext\":{\"zipcode\":\"90001\"}}");
Request request = new Request.Builder()
  .url("http://scrape.pangolinfo.com/api/task/receive/v1?token=xxx")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .build();
Response response = client.newCall(request).execute();

//响应
{
    "code":0, //系统状态码
    "message":"ok",
    "data":{
        "data":"57b049c3fdf24e309043f28139b44d05", //返回爬虫任务ID,爬取成功后会将此ID+页面数据推送到接收服务上
        "bizCode":0, //业务状态码
        "bizMsg":"ok" //业务状态信息
    }
}
				
			
3、Python – Request示例
				
					# 请求
import requests
import json

url = "http://scrape.pangolinfo.com/api/task/receive/v1?token=xxx"

payload = json.dumps({
  "url": "https://www.amazon.com/s?k=baby",
  "callbackUrl": "http://***.***.***.***/callback/data",
  "bizContext": {
    "zipcode": "90001"
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

# 响应
{
    "code":0, //系统状态码
    "message":"ok",
    "data":{
        "data":"57b049c3fdf24e309043f28139b44d05", //返回爬虫任务ID,爬取成功后会将此ID+页面数据推送到接收服务上
        "bizCode":0, //业务状态码
        "bizMsg":"ok" //业务状态信息
    }
}
				
			

接收服务示例

需要帮助吗?

我们致力于您的成功,如果有任何问题,请随时联系我们!

我们的专家团队致力于帮助您解决和修复可能在使用我们的产品时遇到的任何问题。

如果您想提交错误报告或需要技术支持,请通过发送电子邮件联系我们的支持团队。或者参阅技术文档。[Data API 用户指南] | [Scrape API用户指南]

滚动至顶部
pangolinfo LOGO

联系我们,您的问题,我们随时倾听

无论您在使用 Pangolin 产品的过程中遇到任何问题,或有任何需求与建议,我们都在这里为您提供支持。请填写以下信息,我们的团队将尽快与您联系,确保您获得最佳的产品体验。
This website uses cookies to ensure you get the best experience.
pangolinfo LOGO

Talk to our team

If you encounter any issues while using Pangolin products, please fill out the following information, and our team will contact you as soon as possible to ensure you have the best product experience.