因此,Meteor中的基本服务器JS抓取工具。

模式有点简单。脚本查找某些链接,然后从中加载内容并将其存储在变量中。

在循环内加载cheerio时,脚本不断崩溃。
渔获物在哪里?为此目的的最佳实现是什么?

  Meteor.methods({
    loadPage: function () {
      result = Meteor.http.get("http://url.com");
      $ = cheerio.load(result.content);
      $('.class').each(function(i,elem){
        var link = $(this).attr('href');
        var title = $(this).text();
        var $ = cheerio.load(Meteor.http.get(link).content);
        var postContent = $('.classOnLoadedPage');
        Images.insert(
          {
            link: link,
            title: title,
            postContent:  postContent
          });
      });
    }
  });

最佳答案

我今天遇到了同样的问题。原来,这是cheerio本身的问题。它的旧版本有此错误。您必须使用较新的版本,然后它才能工作。

大气层mrt:cheerio中下载次数最多的cheerio软件包会包装cheerio 0.12.3,而npm中的当前版本是cheerio 0.19.0

添加rclai89:cheerio而不是mrt:cheerio,它将提供cheerio 0.18.0,并且在此版本中,循环内的加载非常完美。

关于node.js - 在每个循环中调用cheerio.load,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31242031/

10-16 09:35