javascript - Apify 数组结果显示在一行而不是单独的行中

标签 javascript jquery web-scraping apify

我正在测试 Apify 网络抓取工具,我能够看到结果,但它显示在一行中。我正在迭代内容以从此页面获取标题 - ...并将其推送到数组并最终返回数组。我希望看到标题在单独的行中返回。如果有人能指出我正确的方向,我将非常感激。

这是我的页面功能:

async function pageFunction(context) {
    // jQuery is handy for finding DOM elements and extracting data from them.
    // To use it, make sure to enable the "Inject jQuery" option.
    const $ = context.jQuery;
    var results = [];
    $('.ms-srch-group-content').each(function(){
        results.push({
            title: $(this).find('.ms-srch-item-link').text().trim(),
            date: $(this).find('.soi-news-attributes').text().trim(),
        });
    });
    return results;
}

结果如下: ...

正如您在结果屏幕截图中看到的,所有标题都显示在一行中。

最佳答案

这里的问题是您试图迭代元素本身,而您想要实现的目标需要向下移动一级。

也就是说 - 您只需将 .ms-srch-group-content 更改为 .ms-srch-group-content > div[name=Item]它会按预期工作。

关于javascript - Apify 数组结果显示在一行而不是单独的行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61533672/

相关文章:

javascript - 哪个谷歌地图 API 用于在区域选择上呈现此鼠标

javascript - 使用 JQuery 按钮更改 URL #ID

javascript - IE11 HTTPS AJAX XMLHttpRequest : Network Error 0x2eff, 由于错误 00002eff,无法完成操作

python - 访问第一个元素后无法通过 xpaths 循环访问剩余元素 - Webscraping Selenium Python

python - 如何在段落标签内与其他一些标签一起抓取文本,然后在段落文本内抓取文本?

python - 如何以优雅的方式递归解析 LXML?

javascript - Kendo Editor + show ("slide") 在 Firefox 中不可编辑

javascript - 如何检查日期时间?

javascript - jQuery 在选择菜单中设置特定数字

jquery - 查找文本(A) 并将其替换为文本(B) + HTML