主题
创建 Tripadvisor 评论采集任务
POST /v3/business_data/tripadvisor/reviews/task_post
接口说明
该接口用于创建 Tripadvisor 平台“Reviews(评论)”数据采集任务,返回指定商家页面或在指定地区下的评论结果。
建议优使用 url_path 参数创建任务,以获得更高的识别准确率。url_path 是 Tripadvisor 商家页 URL 中的路径部分,例如:
https://www.tripadvisor.com/Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html
对应的 url_path 为:
Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html
注意:
items数组中每返回 10 条评论计费一次;例如设置"depth": 11,将按 20 条评论计费。- 使用
language_name或language_code会额外产生一次请求费用。- 高优级任务
priority=2会产生额外费用。- 实扣费以响应头
X-SeerMarTech-Charge-CNY为准。
请求信息
POST https://api.seermartech.cn/v3/business_data/tripadvisor/reviews/task_post
计费说明
创建任务会产生基础任务费用,同时会根据返回的评论数量额外计费。
参考价约:
- 创建任务:¥0.0120 / 次
- 附加费用与评论条数、语言参数、高优级等
- 实扣费以响应头
X-SeerMarTech-Charge-CNY为准
请求格式
所有 POST 数据使用 UTF-8 编码的 JSON 格式,请求体为 JSON 数组:
json
[
{
"url_path": "Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
"location_code": 1003854
}
]频率与数量限制
- 每分钟最多可发起 110 次 API 调用
- 每次 POST 最多 100 个任务 -过 100 个任务的部分会返回错误
40006
结果获取方式
任务创建成功后,你可以通过返回的唯一任务标识 id 获取结果。
也可以在创建任务时传以下回调参数,由本平台在任务完成后主动通知:
postback_url:任务完成后,将以 POST 方式推送结果,数据为 gzip 压缩pingback_url:任务完成后,将以 GET 方式发送完成通知
如果你的服务器在 10 秒未响应,请求会因时被中止,任务将转移到 /v3/business_data/tripadvisor/reviews/tasks_ready 列表中。错误码和错误信息取决于你的服务端。
请求参数
| 字段名 | 类型 | 说明 |
|---|---|---|
url_path | string | 商家实体页面的 URL 路径。如果未指定 keyword,则该字段填。可传完整路径或完整 URL。示例:Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html |
keyword | string | 。如果未指定 url_path,则该字段填。应填写 Tripadvisor 中存在的商家名称或知名地点名称。最长 700 个字符。所有 %## 会被解码,字符 + 会被解码为空格;如需传 %,请使用 %25。 |
location_name | string | 搜索地区完整名称。如果未指定 location_code 或 url_path,则该字段填。可通过 /v3/business_data/tripadvisor/locations 查询。示例:London,England,United Kingdom |
location_code | integer | 搜索地区编码。如果未指定 location_name 或 url_path,则该字段填。可通过 /v3/business_data/tripadvisor/locations 查询。示例:1003854 |
priority | integer | 任务优级,可选。1 表示普通优级(默认),2 表示高优级。高优级会额外收费。 |
language_name | string | 搜索语言名称,可选。使用该参数会额外计费一次。可通过 /v3/business_data/tripadvisor/languages 查询。示例:English |
language_code | string | 搜索语言编码,可选。使用该参数会额外计费一次。可通过 /v3/business_data/tripadvisor/languages 查询。示例:en |
depth | integer | 采集深度,可选。表示需要抓取的评论数量。默认值:10;最大值:4490。强烈建议按 10 的倍数设置,因为系统按每 10 条评论一组处理与计费。 |
ratings | array | 按评论评分过滤,可选。可选值:excellent、very_good、average、poor、terrible。支持同时传多个值。 |
visit_type | array | 按评论出行类型过滤,可选。可选值:families、couples、solo、business、friends。支持同时传多个值。 |
months | array | 按访问月份过滤,可选。可选值:january、february、march、april、may、june、july、august、september、october、november、december。支持同时传多个值。 |
search_reviews_keyword | string | 按评论过滤,可选。示例:dessert |
sort_by | string | 排序方式,可选。可选值:most_recent、detailed_reviews |
translate_reviews | boolean | 是否根据 url_path 对评论进行翻译,可选。设为 true 时,评论会翻译为与 url_path 匹的语言。默认值:true。例如 url_path 对应意大利站点时,评论会翻译成意大利语。 |
tag | string | 自定义任务标识,可选。最大长度 255。可用于请求与结果匹,返回结果中的 data 对象会带回该值。 |
postback_url | string | 结果回传地址,可选。任务完成后,本平台会向该地址发送完整结果的 POST 请求(gzip 压缩)。支持在 URL 中使用 $id 和 $tag 变量。示例:http://your-server.com/postbackscript?id=$id&tag=$tag。特殊字符会进行 URL 编码。 |
pingback_url | string | 完成通知地址,可选。任务完成后,本平台会向该地址发送 GET 请求。支持在 URL 中使用 $id 和 $tag 变量。示例:http://your-server.com/pingscript?id=$id&tag=$tag。特殊字符会进行 URL 编码。 |
响应说明
接口返回 JSON 数据,已创建任务的信息。
顶层字段
| 字段名 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本 |
status_code | integer | 通用状态码,完整错误码见参考文档 /v3/appendix/errors |
status_message | string | 通用状态信息 |
time | string | 执行耗时,单位秒 |
cost | float | 本次请求总费用,单位 USD |
tasks_count | integer | tasks 数组中的任务数量 |
tasks_error | integer | 返回错误的任务数量 |
tasks | array | 任务数组 |
tasks 数组字段
| 字段名 | 类型 | 说明 |
|---|---|---|
id | string | 本平台中的唯一任务 ID,UUID 格式 |
status_code | integer | 任务状态码,范围通常为 10000-60000 |
status_message | string | 任务状态信息 |
time | string | 任务执行耗时 |
cost | float | 任务费用,单位 USD |
result_count | integer | result 数组中的数量 |
path | array | URL 路径信息 |
data | object | 与创建任务时相同的参数集合 |
result | array / null | 结果数组;在任务创建接口中通常为 null |
请求示例
cURL
bash
curl --location --request POST "https://api.seermartech.cn/v3/business_data/tripadvisor/reviews/task_post" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
{
"url_path": "Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
"location_code": 1003854,
"pingback_url": "https://your-server.com/pingback.php?id=$id&tag=$tag",
"tag": "some_string_123"
}
]'Python
python
import requests
url = "https://api.seermartech.cn/v3/business_data/tripadvisor/reviews/task_post"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
}
data = [
{
"url_path": "Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
"location_code": 1003854,
"pingback_url": "https://your-server.com/pingback.php?id=$id&tag=$tag",
"tag": "some_string_123"
},
{
"url_path": "Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
"location_code": 1003854,
"pingback_url": "https://your-server.com/pingback.php?id=$id&tag=$tag",
"priority": 2,
"tag": "some_string_123"
},
{
"url_path": "Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
"location_code": 1003854,
"postback_url": "https://your-server.com/postbackscript",
"tag": "some_string_123"
}
]
resp = requests.post(url, headers=headers, json=data)
print(resp.json)TypeScript
typescript
import axios from "axios";
const postArray = [
{
url_path: "Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
location_code: 1003854,
pingback_url: "https://your-server.com/pingback.php?id=$id&tag=$tag",
tag: "some_string_123",
}
];
axios({
method: "post",
url: "https://api.seermartech.cn/v3/business_data/tripadvisor/reviews/task_post",
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
},
data: postArray,
})
.then((response) => {
// 输出任务创建结果
console.log(response.data);
})
.catch((error) => {
console.error(error);
});响应示例
json
{
"version": "0.1.20210917",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.1883 sec.",
"cost": 0.00075,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0000 sec.",
"cost": 0.00075,
"result_count": 1,
"path": [
"v3",
"business_data",
"tripadvisor",
"reviews",
"task_post"
],
"data": {
"api": "business_data",
"function": "reviews",
"se": "tripadvisor",
"url_path": "Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
"pingback_url": "https://your-server.com/pingback.php?id=$id&tag=$tag",
"tag": "some_string_123",
"language_name": "English",
"language_code": "en",
"location_name": "United States",
"device": "desktop",
"os": "windows"
},
"result": null
}
]
}状态码与错误处理
20000:请求成功40006:单次 POST 中的任务数 100- 通用错误码请参考
/v3/appendix/errors
建议在接时做好以下处理:
- 校验顶层
status_code与任务级status_code - 对
tasks_error大于 0 的进行重试或记录 - 对回调时、回调失败设置底拉取机制
- 根据
cost字段做扣费核对
使用建议
- 优传
url_path:比方式更稳定、准确。 depth建议按 10 的倍数设置:有助于更符合接口处理与计费逻辑。- 回调与主动拉取结合使用:生产环境建议同时保存任务
id,回调失败导致结果丢失。 - 在时使用语言参数:因为会额外收费。
实用场景
- 监控口碑变化:定期采集指定评论,跟踪评分分布、评论和时间趋势,及时发现服务问题。
- 筛选差评进行预警:结合
ratings过滤poor、terrible评论,快速定位高风险门店并推动运营介。 - 分析不同客群反馈:通过
visit_type区分家庭、、商务等用户评价,识别不同客群的点和满意度差异。 - 定位特定话题评论:使用
search_reviews_keyword检索如“dessert”“cleanliness”“service”等,产品、服务和优化。 - 按月份回溯体验:结合
months筛选不同出行月份的评论,分析旺季与淡季的体验差异,为营销和资源提供依据。