最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js 利用cheerio制作簡單的網(wǎng)頁爬蟲示例

 更新時間:2018年03月01日 09:44:13   作者:Karuru  
本篇文章主要介紹了Node.js 利用cheerio制作簡單的網(wǎng)頁爬蟲示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了Node.js 利用cheerio制作簡單的網(wǎng)頁爬蟲示例,分享給大家,具有如下:

1. 目標

  1. 完成對網(wǎng)站的標題信息獲取
  2. 將獲取到的信息輸出在一個新文件
  3. 工具: cheerio,使用npm下載npm install cheerio
  4. cheerio的API使用方法和jQuery的使用方法基本一致
  5. 如果熟練使用jQuery,那么cheerio將會很快上手

2. 代碼部分

介紹: 獲取segment fault頁面的列表標題,將獲取到的標題列表編號,最終輸出到pageTitle.txt文件里

const https = require('https');
const fs = require('fs');
const cheerio = require('cheerio');
const url = 'https://segmentfault.com/';

https.get(url, (res) => {
  let html = '';
  res.on('data', (data) => {
    html += data;
  });
  res.on('end', () => {
    getPageTitle(html);
  });
}).on('error', () => {
  console.log('獲取網(wǎng)頁信息錯誤');
});

function getPageTitle(html) {
  const $ = cheerio.load(html);
  let chapters = $('.news__item-title');
  let data = [];
  let index = 0;
  let fileName = 'pageTitle.txt';
  for (let i = 0; i < chapters.length; i++) {
    let chapterTitle = $(chapters[i]).find('a').text().trim();
    index++;
    data.push(`\n${index}, ${chapterTitle}`);
  }
  fs.writeFile(fileName, data, 'utf8', (err) => {
    if (err) {
      console.log('fs文件系統(tǒng)創(chuàng)建新文件失敗', err);
    }
    console.log(`已成功將獲取到的標題放入新文件${fileName}文件中`)
  })
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 深入解析Nodejs中的大文件讀寫

    深入解析Nodejs中的大文件讀寫

    這篇文章主要介紹了深入解析Nodejs中的大文件讀寫,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • nodejs清空/刪除指定文件夾下面所有文件或文件夾的方法示例

    nodejs清空/刪除指定文件夾下面所有文件或文件夾的方法示例

    這篇文章主要介紹了nodejs清空/刪除指定文件夾下面所有文件或文件夾的方法,通過兩個具體案例形式分析了node.js同步刪除文件/文件夾,以及異步刪除文件/文件夾的相關(guān)實現(xiàn)技巧,涉及遞歸遍歷與文件判斷、回調(diào)等相關(guān)操作,需要的朋友可以參考下
    2023-04-04
  • Linux下為Node.js程序配置MySQL或Oracle數(shù)據(jù)庫的方法

    Linux下為Node.js程序配置MySQL或Oracle數(shù)據(jù)庫的方法

    這篇文章主要介紹了Linux下為Node.js程序配置MySQL或Oracle數(shù)據(jù)庫的方法,這里默認已經(jīng)裝配好了Node環(huán)境然后我們利用npm包管理工具來進行配置,需要的朋友可以參考下
    2016-03-03
  • NodeJS學(xué)習(xí)筆記之MongoDB模塊

    NodeJS學(xué)習(xí)筆記之MongoDB模塊

    nodejs是個強大的平臺,有基本功能,而且可以掛很多模塊。我們現(xiàn)在需要和mongodb連接的驅(qū)動,就類似比如mysql的java驅(qū)動一樣。nodejs有好幾個mongodb的第三方驅(qū)動。和jdbc不一樣,沒有標準。所以需要到驅(qū)動的網(wǎng)站上去了解學(xué)習(xí)怎么使用它訪問mongodb。
    2015-01-01
  • node.js使用免費的阿里云ip查詢獲取ip所在地【推薦】

    node.js使用免費的阿里云ip查詢獲取ip所在地【推薦】

    這篇文章主要介紹了node.js使用免費的阿里云ip查詢獲取ip所在地的相關(guān)知識,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2018-09-09
  • Node.js+pm2+ssh2模塊實現(xiàn)簡單的自動化部署腳本

    Node.js+pm2+ssh2模塊實現(xiàn)簡單的自動化部署腳本

    本文將介紹如何使用Node.js和ssh2模塊實現(xiàn)一個簡單的部署腳本,將本地的項目文件上傳到遠程服務(wù)器上,我們將使用dotenv模塊來管理環(huán)境變量,以及child_process模塊來執(zhí)行命令行操作
    2023-10-10
  • koa2使用ejs和nunjucks作為模板引擎的使用

    koa2使用ejs和nunjucks作為模板引擎的使用

    這篇文章主要介紹了koa2使用ejs和nunjucks作為模板引擎的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • 解決npm?install版本不匹配問題:?npm?ERR!?code?ETARGET?npm?ERR!?notarget?No?matching?version?found?for

    解決npm?install版本不匹配問題:?npm?ERR!?code?ETARGET?npm?ERR!?

    這篇文章主要介紹了如何解決npm?install版本不匹配問題:?npm?ERR!?code?ETARGET?npm?ERR!?notarget?No?matching?version?found?for,文中給出了詳細的解決方法,需要的朋友可以參考下
    2024-02-02
  • 教你徹底搞懂ESM與CJS互相轉(zhuǎn)換

    教你徹底搞懂ESM與CJS互相轉(zhuǎn)換

    這篇文章主要為大家介紹了ESM與CJS互相轉(zhuǎn)換的理解與實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • node.js+express制作網(wǎng)頁計算器

    node.js+express制作網(wǎng)頁計算器

    這篇文章主要介紹了node.js+express制作網(wǎng)頁計算器的相關(guān)資料,需要的朋友可以參考下
    2016-01-01

最新評論

凯里市| 桐梓县| 丹巴县| 大名县| 乌恰县| 伊川县| 尉犁县| 当雄县| 华容县| 桐柏县| 新河县| 高碑店市| 江华| 北票市| 简阳市| 习水县| 陕西省| 萝北县| 温泉县| 南京市| 广昌县| 徐闻县| 奇台县| 安仁县| 东源县| 元江| 虹口区| 汕头市| 交城县| 宜丰县| 乐山市| 渭源县| 滨州市| 天峻县| 颍上县| 克山县| 梅河口市| 塔河县| 大兴区| 临夏市| 新晃|