javascript JS爬虫为所有'nodeschool'研讨会获取描述和NPM包。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript JS爬虫为所有'nodeschool'研讨会获取描述和NPM包。相关的知识,希望对你有一定的参考价值。

/*
  "dependencies": {
    "cheerio": "^0.22.0",
    "request": "^2.79.0"
  }
*/

const request = require('request');
const cheerio = require('cheerio');

const SITE_URL = 'https://nodeschool.io';
const SEPARATOR = '-'.repeat(100);

function Crawler(url) {
  this.url = url;

  this.start = function() {
    request(this.url, function(error, response, body) {
      if(error) {
        console.log('Error:', error.message);
        return;
      }

      const $ = cheerio.load(body);
      const elements = $('.workshopper');

      for(var i = 0; i < elements.length; i++) {
        $ele = $(elements[i]);

        if($ele.attr('id')){
          var npmCodes = $ele.find('code');

          for(var j = 0; j < npmCodes.length; j++) {
            $npmCode = $(npmCodes[j]);

            if($npmCode.parent().hasClass('workshopper')) {
              console.log(SEPARATOR);
              console.log($ele.find('p').text());
              console.log($npmCode.text());
            }
          }
        }
      }
    });
  }
}

crawler = new Crawler(SITE_URL);
crawler.start();

以上是关于javascript JS爬虫为所有'nodeschool'研讨会获取描述和NPM包。的主要内容,如果未能解决你的问题,请参考以下文章

如何在javascript中把字符串('No. 10')转换为数字10和('18.12')转换为18.12?

js 用window.open(参数) 打开新窗口,在新窗口怎么获取传过来的参数

JS动态加载以及JavaScript void的爬虫解决方案

'str' object has no attribute 'get' 错误解决方案

急用:网页设计:如何用JS实现:单击按钮就新打开一个的窗口,并设计该窗口的的长度和宽度

Javascript快速输出所有字母 - js全字母输出