node-day4

// 模塊導入
var express = require('express');//導入express 模塊
const utility = require('utility');//提供了不少經常使用且比較雜的輔助方法,如 utility.md5() md5算法,用來加密
var superagent = require('superagent');//是個 http 方面的庫,能夠發起 get 或 post 請求。
var cheerio = require('cheerio'); //Node.js 版的 jquery,用來從網頁中以 css selector 取數據,使用方式跟 jquery 同樣同樣的。
var app = express();//建立一個express實例 這樣app上就有express中的各類方法了。如 get post put delete


app.get('/',function(req,res){
    superagent.get('https://cnodejs.org/').end(function(error,sres){
        if(error){
            return next(error);
        }
        // sres.text 存放着爬取的html內容
        var  $ = cheerio.load(sres.text);//將它傳給 cheerio.load 以後 就能夠獲得一個實現了 jquery 接口的變量,咱們習慣性地將它命名爲 `$`
        var  jsonObj = [];
        $('#topic_list  .cell').each(function(index,item){
            item = $(item);
            var name = item.find('.user_avatar img').attr('title')
            var url = item.find(".topic_title").attr("href");
            var title = item.find(".topic_title").attr("title");
            jsonObj.push({"name":name,"url":url,"title":title});
        })

        res.send(jsonObj);
    })
})

// 監聽端口
app.listen(3000,function(){
    console.log('成功');
})

呀哈,使用node 作一個簡單的爬蟲。用到的模塊:superagent 和 cheerio。css

本站公眾號
   歡迎關注本站公眾號,獲取更多信息