0

我正在apify/google-search-scraper通过他们的API电话学习使用。该文件在此处给出。

因为我是新手,所以我对他们的文档有点困惑。特别是我需要帮助来配置呼叫。它

$.ajax({
   url : '',  
   method : "POST",
   contentType: "application/json; charset=utf-8",

   data : {   

   },
   success:function(response) {
     console.log(response.data); 
   } 

 });

url : 我应该在这里写什么?

数据:我应该在这里传递参数吗?

提前致谢。

4

1 回答 1

1

您需要使用运行任务 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) 
   } 

 });

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

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

于 2019-09-09T06:34:09.753 回答