node爬蟲(chóng)

/**

var cheerio = require('cheerio');
var superagent = require('superagent');
var charset = require('superagent-charset');
 

superagent = charset(superagent)
superagent.get('https://www.88ys.cc/')
    .charset('utf8')
    .end(function (err,res) {
    if (err) {
        console.log(err);
        return err;
    }
    // console.log(res.text)

    var $ = cheerio.load(res.text);
    var content= $('.index-area ul li .name');
    $element = $(content);
    $element.each(function(i, elem) {//迭代
        console.log($(this).text());//注意這里是this
      })

    })

下載圖片版本

/**
 * 需要安裝對(duì)應(yīng)的npm包
 * 1洪灯、$ npm install express --save
 * 2、$ npm install superagent –save 
 * 3旗们、$ npm install superagent-charset
 * 4、$ npm install cheerio
 *  */ 




// 第一步裙戏,建立基本的請(qǐng)求監(jiān)聽(tīng)
express = require('express');
var app = express();

// 第二步轮蜕,這里是請(qǐng)求及處理DOM相關(guān)的
var superagent = require('superagent');//類(lèi)似于Axios、Request捣辆、Superagent奴愉、Fetch
var charset = require('superagent-charset');//用于轉(zhuǎn)碼utf8
superagent = charset(superagent);
var cheerio = require('cheerio');//作用于服務(wù)器琅摩,類(lèi)似于前端的jquery

//第三步,這個(gè)是讀寫(xiě)文件
const fs = require('fs');


app.get('/', function (request, response, next) {
  response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
  response.write("創(chuàng)建爬蟲(chóng)<br>");


  superagent.get("http://image.so.com/i?q=%E5%88%98%E4%BA%A6%E8%8F%B2&src=tab_www#/")
    .charset('utf8')
    .buffer(true)
    .end(function (err,res) {
        if (err) {
            console.log(err);
            return err;
        }
        response.write("獲得數(shù)據(jù)<br>");

        // 獲得某個(gè)dom
        const $ = cheerio.load(res.text);
        const imgList =JSON.parse($('script[id="initData"]').html()).list;
        dowmImg(imgList,'./imgs',response);

        // 關(guān)閉數(shù)據(jù)流
        response.end("操作完成<br>");
    })


})
app.listen(3000, function () {
  console.log('app is listening at port 3000');
});


  /**
   *下載圖片
   * @param {*} [imgsArr=[]]
   * @param {string} [filePath='./imgs']
   */
  function dowmImg(imgList=[],filePath='./imgs',response){
    if(!(imgList instanceof Array)) return;

    let res;
    imgList.forEach((item,index)=>{
      let {title,img}=item;
      if(img.indexOf("http")==-1) return;
      res= superagent.get(img);
      res.pipe(fs.createWriteStream(`${filePath}/${index}.png`));//這個(gè)是一個(gè)同步函數(shù)
      response.write(`<a href=${img}>${title}</a><br />`)
    })
  }


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末躁劣,一起剝皮案震驚了整個(gè)濱河市迫吐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌账忘,老刑警劉巖志膀,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異鳖擒,居然都是意外死亡溉浙,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)蒋荚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)戳稽,“玉大人,你說(shuō)我怎么就攤上這事期升【妫” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵播赁,是天一觀的道長(zhǎng)颂郎。 經(jīng)常有香客問(wèn)我,道長(zhǎng)容为,這世上最難降的妖魔是什么乓序? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任寺酪,我火速辦了婚禮,結(jié)果婚禮上替劈,老公的妹妹穿的比我還像新娘寄雀。我一直安慰自己,他們只是感情好陨献,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布盒犹。 她就那樣靜靜地躺著,像睡著了一般眨业。 火紅的嫁衣襯著肌膚如雪阿趁。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,829評(píng)論 1 290
  • 那天坛猪,我揣著相機(jī)與錄音,去河邊找鬼皂股。 笑死墅茉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的呜呐。 我是一名探鬼主播就斤,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蘑辑!你這毒婦竟也來(lái)了洋机?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤洋魂,失蹤者是張志新(化名)和其女友劉穎绷旗,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體副砍,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡衔肢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了豁翎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片角骤。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖心剥,靈堂內(nèi)的尸體忽然破棺而出邦尊,到底是詐尸還是另有隱情,我是刑警寧澤优烧,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布蝉揍,位于F島的核電站,受9級(jí)特大地震影響匙隔,放射性物質(zhì)發(fā)生泄漏疑苫。R本人自食惡果不足惜熏版,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望捍掺。 院中可真熱鬧撼短,春花似錦、人聲如沸挺勿。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)不瓶。三九已至禾嫉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蚊丐,已是汗流浹背熙参。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留麦备,地道東北人孽椰。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像凛篙,于是被迫代替她去往敵國(guó)和親黍匾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • 上篇文章介紹了爬蟲(chóng)的基本概念和基本原理呛梆,這篇開(kāi)始我們一起來(lái)看看具體如何從網(wǎng)頁(yè)中爬取自己想要的數(shù)據(jù)锐涯。 在下面爬蟲(chóng)的栗...
    特慈閱讀 290評(píng)論 0 0
  • 一、Demo介紹 在每周一次的公司內(nèi)部分享上填物,我分享了關(guān)于node的一個(gè)爬蟲(chóng)的Demo纹腌。通過(guò)這個(gè)Demo,分享了關(guān)...
    RayLightUp閱讀 1,189評(píng)論 1 7
  • 一融痛、前言 一直感覺(jué)爬蟲(chóng)是個(gè)挺高端的東西 大數(shù)據(jù)時(shí)代 爬蟲(chóng)顯得尤為重要壶笼。經(jīng)過(guò)一番探索,終于用node實(shí)現(xiàn)了這個(gè)功能雁刷,...
    鳶_行風(fēng)閱讀 501評(píng)論 0 0
  • 個(gè)人入門(mén)學(xué)習(xí)用筆記覆劈、不過(guò)多作為參考依據(jù)。如有錯(cuò)誤歡迎斧正 目錄 簡(jiǎn)書(shū)好像不支持錨點(diǎn)沛励、復(fù)制搜索(反正也是寫(xiě)給我自己看...
    kirito_song閱讀 2,458評(píng)論 1 37
  • 李白 宣州謝朓樓餞別校書(shū)叔云 棄我去者责语,昨日之日不可留; 亂我心者目派,今日之日多煩憂坤候。 長(zhǎng)風(fēng)萬(wàn)里送秋雁,對(duì)此可...
    顧勇詩(shī)書(shū)閱讀 167評(píng)論 0 1