如何使用 JQuery/Ajax 调用 Apify Google Search Scraper 任务?
How to call Apify Google Search Scraper Task Using JQuery/Ajax?
我正在通过他们的 API
电话学习使用 apify/google-search-scraper
。文档给出 here。
我是新手,对他们的文档有点困惑。特别是我需要帮助来配置呼叫。它
$.ajax({
url : '',
method : "POST",
contentType: "application/json; charset=utf-8",
data : {
},
success:function(response) {
console.log(response.data);
}
});
url:这里应该写什么?
data : 我应该在这里传递参数吗?
提前致谢。
你需要使用run task API endpoint到运行它。您可以使用与异步相同的同步 运行。
如果您想 运行 使用 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
参数,它会等待它完成。
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)
}
});
您需要完成示例中的错误处理。
编辑:添加查询参数以覆盖您要抓取的查询。
我正在通过他们的 API
电话学习使用 apify/google-search-scraper
。文档给出 here。
我是新手,对他们的文档有点困惑。特别是我需要帮助来配置呼叫。它
$.ajax({
url : '',
method : "POST",
contentType: "application/json; charset=utf-8",
data : {
},
success:function(response) {
console.log(response.data);
}
});
url:这里应该写什么?
data : 我应该在这里传递参数吗?
提前致谢。
你需要使用run task API endpoint到运行它。您可以使用与异步相同的同步 运行。
如果您想 运行 使用 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
参数,它会等待它完成。
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)
}
});
您需要完成示例中的错误处理。
编辑:添加查询参数以覆盖您要抓取的查询。