一个Node.js的小爬虫

Posted 电子猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个Node.js的小爬虫相关的知识,希望对你有一定的参考价值。

爬虫其实就是对网页内特定id、class、标签内容的提取,多是循环出来的,对我们爬取非常便利。

1.安装node

node官网下载安装包安装,后在命令行工具中输入node -v查看node安装的版本。

2.实现项目

创建项目并进入

mkdir node-worm && cd node-worm

初始化项目环境,一路回车

npm init

安装依赖

npm install request cheerio --save-dev

在项目根目录创建app.js并写入以下代码

var request = require(\'request\')
var cheerio = require(\'cheerio\')
var reqUrl = \'https://www.cnblogs.com/e-cat/\'
request(reqUrl, function (err, result) {
  if (err) {
    console.log(err)
  }
  let $ = cheerio.load(result.body)
  let list = []
  $(\'#main #mainContent .forFlow .day\').each((index, element) => {
    let date = $($(`${element.name} .dayTitle a`)[index]).text() || \'\'
    let title = $($(`${element.name} .postTitle a span`)[index]).text()
    let desc = $($(`${element.name} .postCon .c_b_p_desc`)[index]).text()
    let href = $($(`${element.name} .postTitle a`)[index]).attr(\'href\')
    let obj = {
      date,
      title,
      desc,
      href,
    }
    list.push(obj)
  })
  console.log(list)
})

其中reqUrl为爬取目标网址,提取的obj即为最终获取的内容结构。

 

以上是关于一个Node.js的小爬虫的主要内容,如果未能解决你的问题,请参考以下文章

Node.js umei图片批量下载Node.js爬虫1.00

Node.js 使用爬虫批量下载网络图片到本地

用node.js对一个英语句子分析页面进行一个小爬虫

Node.js aitaotu图片批量下载Node.js爬虫1.00版

基于Node.js的裁判文书网爬虫分析

Node.js(十三)——Promise重构爬虫代码