您需要使用运行任务 API 端点来运行它。您可以使用与异步相同的同步运行。
如果要使用 AJAX 运行端点,可以使用:
$.ajax({
url : 'https://api.apify.com/v2/actor-tasks/<your task name>/runs?token=<your api token>',
method : 'POST',
contentType: 'application/json; charset=utf-8',
success:function(response) {
console.log(response.data); // Actor run object
}
});
如果您还需要从任务运行中获取数据,则需要等到它完成。然后使用get dataset items API endpoint从默认数据集中获取数据。好消息是您可以waitForFinish
在调用 run 时使用 param 并等待它完成。
const getItemsFromDataset = (datasetId) => {
$.ajax({
url : `https://api.apify.com/v2/datasets/${datasetId}/items?format=json`,
method : 'GET',
contentType: 'application/json; charset=utf-8',
success:function(response) {
console.log(response); // Items from dataset
}
});
}
$.ajax({
url : 'https://api.apify.com/v2/actor-tasks/<your task name>/runs?token=<your api token>&waitForFinish=120',
method : 'POST',
dataType: 'json',
data : JSON.stringify ({
"queries" : "query you want to"
}),
success:function(response) {
console.log(response.data); // Actor run object
getItemsFromDataset(response.data.defaultDatasetId)
}
});
您需要完成示例中的错误处理。
编辑:添加查询参数以覆盖您要抓取的查询。