最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
nodejs如何抓包工具

這篇文章主要介紹nodejs如何抓包工具,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)臨翔,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220

1.在你的電腦桌面新建一個(gè)reptileDemo文件夾。

然后進(jìn)入文件夾,然后在改文件夾目錄下打開cmd。輸入下圖所示回車,連續(xù)按回車即可。

nodejs如何抓包工具

初始化完之后,你會(huì)在文件夾里面看下package.json文件,里面就是一些基本的包管理基本配置。

2.cmd輸入下圖所示,然后回車

nodejs如何抓包工具

這步是安裝cheerio模塊,主要是用來解釋html和使用jqueryAPI來操作請(qǐng)求返回的html。

3.cmd輸入下圖所示,然后回車

nodejs如何抓包工具

這步是安裝request模塊,主要是用來發(fā)請(qǐng)求處理的。

4.文件夾內(nèi)添加一個(gè)data文件夾,用來存放抓包的數(shù)據(jù)。

5.文件夾內(nèi)新建app.js文件。添加內(nèi)容如下:

let fs = require('fs');
let cheerio = require('cheerio');
let request = require('request');
let path = require('path');
let i = 0;
let j = 0;
//初始需要抓取的頁面url 
let url = "http://www.silver.org.cn/cjyw/list_p_1.html";
let http = url.includes('https') ? require('https') : require('http');

function startRequest(x) {
  // 采用http模塊向服務(wù)器發(fā)起一次get請(qǐng)求   
  http.get(x, function(res) {
    // 用來存儲(chǔ)請(qǐng)求網(wǎng)頁的整個(gè)html內(nèi)容
    var html = '';
    var titles = [];
    // 防止中文亂碼
    res.setEncoding('utf-8'); 
    // 監(jiān)聽data事件,每次取一塊數(shù)據(jù)
    res.on('data', function(chunk) {
      html += chunk;
    });
    // 監(jiān)聽end事件,如果整個(gè)網(wǎng)頁內(nèi)容的html都獲取完畢,就執(zhí)行回調(diào)函數(shù)
    res.on('end', function() {
      // 采用cheerio模塊解析html
      var $ = cheerio.load(html); 
      j = 0;
      savedContent($);
      i++;
      console.log('抓包頁碼:' + i);
      // 限制請(qǐng)求頁數(shù)
      if (i <= 10) {
        fetchPage(`http://www.silver.org.cn/cjyw/list_p_${i}.html`);
      } else {
        console.log('抓包完成');
      };
    });
  }).on('error', function(err) {
    console.log(err);
  });
}
//保存內(nèi)容
function savedContent($) {
  var item = $('.lt_col li')[j]
  // 標(biāo)題
  var x = $(item).find('h3').text().trim();
  // 內(nèi)容
  var y = $(item).find('p').text().trim();
  // 圖片地址
  var z = $(item).find('img').attr('src');
  // 圖片文件名
  var o = path.basename(z);
  // 創(chuàng)建文件夾
  fs.mkdir(`./data/${x}`, err => {
    if (!err) {
      // 保存文本
      fs.appendFile(`./data/${x}/index.txt`, `標(biāo)題:${x}\n內(nèi)容:${y}`, 'utf-8', err => {
        if (err) {
          console.log(`****創(chuàng)建txt失敗****: ${x}`);
        }
      });
      // 保存圖片
      request.head(z, (err, res, body) => {
        if (err) {
          console.log(`****請(qǐng)求圖片失敗****: ${x}`);
        }
      });
      // 寫圖片到本地
      request(z).pipe(fs.createWriteStream(`./data/${x}/${o}`));
      j++;
      if (j <= $('.lt_col li').length - 1) {
        savedContent($)
      }

    }
  })
}

startRequest(url); //主程序開始運(yùn)行

本項(xiàng)目主要是抓取一個(gè)新聞網(wǎng)站的新聞列表數(shù)據(jù),有標(biāo)題,內(nèi)容和圖片。

6.package.json修改如下:

"scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "dev": "node app.js"
 },

nodejs如何抓包工具

完結(jié)。

做完上面操作之后你就可以使用cmd,然后輸入

nodejs如何抓包工具

預(yù)覽

nodejs如何抓包工具

nodejs如何抓包工具

這樣就搞定了,是不是很爽啊。

瘋狂的程序員決不是靠狂妄和拼命的程序員,而是能夠腳踏實(shí)地,持續(xù)努力的程序員,一個(gè)程序員真正做到這兩點(diǎn),技術(shù)上去后,唯一能限制他的只有想象力,到那個(gè)時(shí)候才算“瘋狂的程序員”,這種程序員,才能令對(duì)手無比恐懼。

以上是“nodejs如何抓包工具”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享標(biāo)題:nodejs如何抓包工具
網(wǎng)址分享:http://fisionsoft.com.cn/article/iejeoj.html