node爬取app数据_手把手教你用nodejs爬取数据

1、本次爬虫目标

从网站中爬取数据,并分析整理,我的目标是完整复刻出一个webapp网站以作练手,所以会对输入如何存到MongoDB做思考。爬取的数据先暂时存到json文件中;当然在实际中可以直接存到自己的MongoDB中,这样复刻出来的网站就是一个完整的网站了,至于视频播放,可以把视频地址爬下来写到特定字段,用户调用是直接拿原来网站的视频就可以了(只爬取慕课免费课程的所有数据)。

运行完会的到另个json文件,结构如下

free.json(记录课程的方向和分类)

freeCourse.json(记录所有课程的文件,但数据会有id与free中的分类一一对应)

2、创建项目

1)创建craler目录,再新建index.js文件。在目录下执行npm init命令,然后一直回车。

2)安装npm包,执行npm install mongoose(生成MongoDB用的id),npm install https,npm install cheerio;得到以下目录结构

3、获取课程的分类和方向的数据

const mongoose = require('mongoose');

const https = require('https');

const fs = require('fs');

const cheerio = require('cheerio');

var courses = [],

totalPage = 0,

orientations = [],//课程方向

orientationMap = {},

classifyMap = {},//课程分类

baseUrl = 'https://www.imooc.com',

freeCourseUrl = 'https://www.imooc.com/course/list';//免费课程

function fetchPage(url){

getFreeType(url);

}

//类型获取

function getFreeType(url) {

https.get(url, function(res){

var html = '';

res.setEncoding('utf-8')//防止中文乱码

res.on('data' ,function(chunk){

html += chunk;

})

//监听end事件,如果整个网页内容的html都获取完毕,就执行回调函数

res.on('end',function(){

var $ = chee

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值