尝试使用 apify web-scraper actor 抓取页面标题时出现错误 403

时间:2021-02-14 10:37:43

标签: apify

我正在尝试使用 apify 获取网站标题,但是当我运行代码时出现错误 403,有人知道修复方法吗?

我的代码:

currentLink = "https://medium.com/vice/scientists-monitored-631-people-as-they-died-this-is-what-they-found-2de48ad9ed96";

const postUrl = "https://api.apify.com/v2/actor-tasks/LdLPzP6nopWgexrqX/run-sync-get-dataset-items?token=" + token;

var values = {
    contentType: "application/json",
    "startUrls": [{
        "url": currentLink,
    }]
};

$.ajax({
    url: postUrl,
    method: 'POST',
    dataType: 'json',
    data: JSON.stringify(values),
    success: function(response) {
        console.log(response.data); // Actor run object
        getItemsFromDataset(response.data.defaultDatasetId);
    }

});

我认为这是我的错误: 加载资源失败:服务器响应状态为 403 () 附上一个显示正确结果的链接。

1 个答案:

答案 0 :(得分:1)

您正在使用 run-sync-get-dataset-items 端点,它返回数据集(并且只有数据集,即项目数组,而不是运行对象)。然后您尝试获取项目,假设您提供的是 defaultDatasetId,在本例中为 undefined。最后,你会得到一个错误。这也可以解释为什么您会通过链接看到这些项目。

不知道为什么是错误 403,而不是 404,但我没有看到 getItemsFromDataset() 的实现。请您先检查一下上面的内容好吗?

相关问题