node.js手把手学习抓取数据

  带噶猴,为大家带来node抓取数据(小白练习)!!!

  在开始之前呢先检查自己是否安装了node,指令:node  -v(ps:应该都会)

    新建index.js文件 然后引入依赖

    var express = require('express');

    var superagent = require('superagent');

    var cheerio = require('cheerio');

    var request = require('request') 

    接下来就开始写一下请求

app.get('/', function (req, res, next) {

    superagent.get('你要输入的网址')

        .end(function (err, sres) {

            if (err) {

                return next(err);

            }

            sres.text 里面存储着网页的 html 内容,将它传给 cheerio.load 之后

            就可以得到一个实现了 jquery 接口的变量,我们习惯性地将它命名为 `$`

            剩下就都是 jquery 的内容了

            var $ = cheerio.load(sres.text);

            var imgs = [];

            var content = '';

            $('.pic').each(function (index, element) {

                let temp = {

                    '标题': $(element).find('span').text()

                }

                content += JSON.stringify(temp) + '\n';

                console.log(content);

                下面也是一样查看页面elemen结构

                if($(element).find('img').length > 0){

                    imgs.push($(element).find('img').attr('src'));

                    console.log(imgs)

                }

            });

            res.send(imgs);  //到locahost://3000查看

        });

});

app.listen(3000, function () {

    console.log('app is listenling at port 3000');

});

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、Demo介绍 在每周一次的公司内部分享上,我分享了关于node的一个爬虫的Demo。通过这个Demo,分享了关...
    RayLightUp阅读 4,969评论 1 7
  • 原本是打算要抓取豆瓣的电影排行榜的,在测试过程中,由于没有设置访问时间间隔,造成了短时间大量访问豆瓣,被暂时ip限...
    marching_4cc8阅读 4,334评论 0 1
  • 二. 模块化 Node.js所有的API都是基于模块发布和使用的,因此在真正的学习Node.js之前,我们需要先了...
    小五同学H阅读 3,060评论 0 0
  • Node.js Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于Chrome...
    Gukson666阅读 3,911评论 0 1
  • 使用node抓取某个页面的所以新闻链接及相关文章链接里面的具体内容 var eventproxy=require(...
    Luo_2a25阅读 2,726评论 0 0

友情链接更多精彩内容