记一次node爬南京工业大学新闻数据

使用Node.js抓取网页数据
本文介绍如何利用Node.js及superagent、cheerio等模块从指定网站抓取信息并解析HTML内容。通过示例代码展示了一个简单的网页爬虫应用,能够获取页面列表并提取标题与链接。

感谢博主,全程高仿。 git地址:https://github.com/alsotang/node-lessons

相关环境

  • 操作系统:deepin
  • 环境配置:node 6.3.0
  • node_modules相关依赖:
        "express": "^4.15.4",
        "utility": "^1.12.0",
        "superagent": "*",
        "cheerio": "*"

功能实现:

app.get('/', function(req, res, next) {
    // 用 superagent 去抓取 https://cnodejs.org/ 的内容
    superagent.get('http://www.njtech.edu.cn/Home/List/lists/mid/145.html')
        .end(function(err, sres) {
            // 常规的错误处理
            if (err) {
                return next(err);
            }
            // sres.text 里面存储着网页的 html 内容,将它传给 cheerio.load 之后
            // 就可以得到一个实现了 jquery 接口的变量,我们习惯性地将它命名为 `$`
            // 剩下就都是 jquery 的内容了

            var $ = cheerio.load(sres.text);
            var items = [];
            var $element;
            $('#mainLeft ul li').each(function(idx, element) {
                $element = $(element);
                // console.log($element.find("a").text())
                items.push({
                    title: $element.find("a").text(),
                    href: $element.find("a").attr('href')
                });
            });
            // res.send($element);
            res.send(items);
            // res.send(sres);
        });
});

备注:cheerio操作类似于juqery,如果有同学不知道怎么操作可以参考这篇文章 http://cnodejs.org/topic/5203a71844e76d216a727d2e

输入图片说明

大功告成洗洗睡觉

转载于:https://my.oschina.net/mfeng/blog/1538257

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值