成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

node.js簡(jiǎn)單爬蟲

tinylcy / 1984人閱讀

這里假設(shè)你已經(jīng)安裝好node.js和npm,如果沒有安裝,請(qǐng)參閱其他教程安裝。

配置
首先是來配置package.json文件,這里使用express,request和cheerio。

package.json如下:

{
  "name": "node-scrape",
  "version": "0.0.1",
  "description": "Scrape",
  "main": "server.js",
  "dependencies": {
    "express" : "latest",
    "request" : "latest",
    "cheerio" : "latest"
  }
}

npm 安裝
把package.json文件放到一個(gè)你自己定義的文件夾(nodejs_scrape)下,然后在命令行下執(zhí)行

cd nodejs_scrape
npm install

抓取內(nèi)容
在nodejs_scrape目錄下新建一個(gè)server.js文件,先定義如下變量的和方法

var express = require("express");
var fs = require("fs");
var request = require("request");
var cheerio = require("cheerio");
var app = express();

app.get("/",function (req,res) {
    //抓取內(nèi)容的方法
});

app.listen("8081"); //使用8081端口

console.log("Magic happens on port 8081");

exports = module.exports = app;

下面我們就來完善get方法的內(nèi)容
首先定義要抓取的url,這里以segmentfault為例

url  = "https://segmentfault.com/news";

頁面如下面所示,點(diǎn)擊F12查看,我們就提取最簡(jiǎn)單的 class="mr10" 這個(gè)標(biāo)簽

抓取內(nèi)容的方法如下

 request(url, function (err,res,html) {
        if (!err){ 
            var $ = cheerio.load(html);

            var title;

            $(".mr10").filter(function () {
                var data = $(this);

                title = data.text(); //獲取標(biāo)簽的內(nèi)容

                console.log("title is " + title); //控制臺(tái)打印
            });
        }
    });

server.js完整代碼如下

/**
 * Created by Administrator on 2017/3/1.
 */
var express = require("express");
var fs = require("fs");
var request = require("request");
var cheerio = require("cheerio");
var app = express();

app.get("/",function (req,res) {

    //all scrape magic will happen here

    url  = "https://segmentfault.com/news";

    request(url, function (err,res,html) {
        if (!err){
            var $ = cheerio.load(html);

            var title;

            $(".mr10").filter(function () {
                var data = $(this);

                title = data.text();

                console.log("title is " + title);
                
            });
        }
    });

});

app.listen("8081");

console.log("Magic happens on port 8081");

exports = module.exports = app;

運(yùn)行
在nodejs_scrape目錄下運(yùn)行 node server ,可以看到如下所示

在瀏覽器運(yùn)行http://127.0.0.1:8081/,可以看到抓取的內(nèi)容如下:

這樣我們就完成了一個(gè)簡(jiǎn)單到不能再簡(jiǎn)單的node.js爬蟲。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/81826.html

相關(guān)文章

  • 分分鐘教你用node.js寫個(gè)爬蟲

    摘要:爬蟲介紹二爬蟲的分類通用網(wǎng)絡(luò)爬蟲全網(wǎng)爬蟲爬行對(duì)象從一些種子擴(kuò)充到整個(gè),主要為門戶站點(diǎn)搜索引擎和大型服務(wù)提供商采集數(shù)據(jù)。 分分鐘教你用node.js寫個(gè)爬蟲 寫在前面 十分感謝大家的點(diǎn)贊和關(guān)注。其實(shí),這是我第一次在segmentfault上寫文章。因?yàn)槲乙彩乔岸螘r(shí)間偶然之間才開始了解和學(xué)習(xí)爬蟲,而且學(xué)習(xí)node的時(shí)間也不是很長(zhǎng)。雖然用node做過一些后端的項(xiàng)目,但其實(shí)在node和爬蟲方面...

    fanux 評(píng)論0 收藏0
  • 使用Node.js開發(fā)一個(gè)小爬蟲

    摘要:前言很多程序猿在最開始學(xué)習(xí)開發(fā)的時(shí)候應(yīng)該都有一個(gè)想要自己開發(fā)一個(gè)爬蟲的想法至少我是有的。其實(shí)弄懂了爬蟲的原理,再回過頭去看,發(fā)現(xiàn)開發(fā)一個(gè)簡(jiǎn)單的爬蟲來說還是很容易的。 前言 很多程序猿在最開始學(xué)習(xí)開發(fā)的時(shí)候應(yīng)該都有一個(gè)想要自己開發(fā)一個(gè)爬蟲的想法(至少我是有的)。所以國(guó)內(nèi)網(wǎng)絡(luò)上也是爬蟲盛行!學(xué)了node.js之后發(fā)現(xiàn)比較適合寫爬蟲,不過一直沒有動(dòng)手去寫,正好這段時(shí)間比較閑,就寫個(gè)爬蟲玩下。...

    Songlcy 評(píng)論0 收藏0
  • node JS爬蟲基礎(chǔ)篇

    摘要:項(xiàng)目中一直用不到但是覺得這門以作為編程基礎(chǔ)的服務(wù)端語言很有意思用它可以寫一些接口寫個(gè)爬蟲這是一門基礎(chǔ)篇看了一段時(shí)間文檔后寫個(gè)爬蟲增強(qiáng)一下的認(rèn)識(shí)吧爬蟲的原理感覺很簡(jiǎn)單大致分為一下三步獲取到對(duì)應(yīng)網(wǎng)站的數(shù)據(jù)也就是代碼篩選出你需要的數(shù)據(jù)比如用戶的信 項(xiàng)目中一直用不到node,但是覺得node這門以js作為編程基礎(chǔ)的服務(wù)端語言很有意思,用它可以寫一些接口,寫個(gè)爬蟲.這是一門基礎(chǔ)篇,看了一段時(shí)間文...

    AlanKeene 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

tinylcy

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<