如何使用 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) 
   } 

 });

您需要完成示例中的错误处理。

编辑:添加查询参数以覆盖您要抓取的查询。