使用超过2个可点击元素来验证抓取工具

时间:2019-03-21 12:45:51

标签: javascript apify

我正在尝试创建一个具有多个clickable元素的Apify搜寻器。第一单击是分页,第二单击是访问每个结果,第三是访问每个结果的一部分以提取更多信息。

function pageFunction(context) {
    var $ = context.jQuery;
    if (context.request.label === 'category'|| context.request.label === 'detail') {
        context.skipLinks();

        var result = {
            item_name: $('name').text(),
            categories: $('.categories').text(),
            email: $('email').text(),
            kvk: $('kvk').text()
        };
        return result;
    } else {
        context.skipOutput();
    }
}

发生前2次点击,它会分页并访问结果并提取前3个值:item_name, categories and email

第四个值:kvk不返回。我认为不是第三次单击还是我使用的代码有一些错误。谁能帮我解决这个问题?

1 个答案:

答案 0 :(得分:0)

其中一个问题可能是context.skipLinks(),该函数可以防止任何新的排队页面。另外,您是否在开发人员控制台中检查了所有选择器?为了进行调试,我建议您记录该页面的内容,以便知道它已加载。首先,您需要找到问题的根源。

请注意,我建议您开始开发我们最新的web-scraper。爬虫平台已不再维护,在某些情况下可能会变差。