首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Apify进行Web抓取

使用Apify进行Web抓取
EN

Stack Overflow用户
提问于 2020-02-25 12:29:51
回答 2查看 1.1K关注 0票数 1

我正在尝试从https://en.wikipedia.org/wiki/List_of_hedge_funds中抓取URL

具体地说,我尝试使用Apify抓取该页面,并从HTML中出现的锚标记返回URL列表。在我的控制台中,我希望在一个名为myValue的属性中看到存在于目标页面上的一个或多个锚标记的href属性的值。我还希望在一个名为title的属性中看到页面标题。相反,我只看到以下URL属性及其值。

我的Apify角色使用Puppeteer平台。所以我使用的是pageFunction similar to the way Puppeteer uses it

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

页面函数

代码语言:javascript
复制
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;
} 

我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2020-02-25 16:38:21

你的代码中有一个拼写错误,text是一个函数,所以你需要添加括号:

代码语言:javascript
复制
var result = {
    title: $('.wikitable').text(),
    myValue: $('a[href]').text(),
};

但请注意,这可能不会像您期望的那样-它将返回所有匹配元素的文本。您可能需要使用jQuery's each()函数(https://api.jquery.com/jquery.each/)来迭代找到的元素,将其中的一些值推入数组,然后从页面函数返回数组。

票数 0
EN

Stack Overflow用户

发布于 2020-03-01 08:05:42

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60387528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档