代码之家  ›  专栏  ›  技术社区  ›  NoUsername9

我在APIFY中的代码似乎没有被读取

  •  0
  • NoUsername9  · 技术社区  · 6 年前

    我正在尝试从 https://en.wikipedia.org/wiki/List_of_hedge_funds

    具体来说,我正试图使用Apify刮取该页面,并从HTML中的锚标记返回URL列表。在我的控制台中,我希望看到 href 在名为“”的属性中,目标页上存在的一个或多个定位标记的属性 myValue . 我还希望在名为 title . 相反,我只看到以下内容 URL 财产及其价值。

    enter image description here

    我的高级演员使用木偶演员平台。所以我用的是 pageFunction similar to the way Puppeteer uses it .

    下面是运行Apify UI之前的屏幕截图。

    enter image description here

    页面功能
    function pageFunction( context ) {
        // called on every page the crawler visits, use it to extract data from it
        var $ = context.jQuery;
        var result = {
            title: $('.wikitable').text,
            myValue: $('a[href]').text,
        };
        return result;
    } 
    

    我做错了什么?

    0 回复  |  直到 6 年前
        1
  •  0
  •   Jan Curn    6 年前

    你的代码有误, text 是一个函数,因此需要添加括号:

    var result = {
        title: $('.wikitable').text(),
        myValue: $('a[href]').text(),
    };
    

    但请注意,无论如何,这可能不会达到预期效果-它将返回所有匹配元素的文本。您可能需要使用 jQuery's each() 功能( https://api.jquery.com/jquery.each/ )要迭代找到的元素,请将其中的一些值推送到数组中,然后从page函数返回数组。

        2
  •  0
  •   NoUsername9    6 年前

    页面似乎是由JavaScript加载的,所以实际上我必须使用异步代码。

    推荐文章