欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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. 目標(biāo)

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

2. 代碼部分

介紹: 獲取segment fault頁面的列表標(biāo)題,將獲取到的標(biāo)題列表編號,最終輸出到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(`已成功將獲取到的標(biāo)題放入新文件${fileName}文件中`)
  })
}

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

相關(guān)文章

  • Node.js發(fā)起HTTP請求的6種不同方法小結(jié)

    Node.js發(fā)起HTTP請求的6種不同方法小結(jié)

    本文主要介紹了Node.js發(fā)起HTTP請求的6種不同方法小結(jié),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • node.js中TCP Socket多進(jìn)程間的消息推送示例詳解

    node.js中TCP Socket多進(jìn)程間的消息推送示例詳解

    這篇文章主要給大家介紹了關(guān)于node.js中TCP Socket多進(jìn)程間的消息推送的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • Node 升級到最新穩(wěn)定版的方法分享

    Node 升級到最新穩(wěn)定版的方法分享

    今天小編就為大家分享一篇Node 升級到最新穩(wěn)定版的方法分享,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Node.js模塊化的使用詳細(xì)介紹

    Node.js模塊化的使用詳細(xì)介紹

    nodejs中的模塊化是指將每個js文件會被認(rèn)為單獨(dú)一個的模塊。模塊之間是互相不可見的。如果一個模塊需要使用另一個模塊,那么需要通過指定語法來引入要使用的模塊,而且只能使用引入模塊所暴露的內(nèi)容
    2022-08-08
  • Node.js 中exports 和 module.exports 的區(qū)別

    Node.js 中exports 和 module.exports 的區(qū)別

    這篇文章主要介紹了Node.js 中exports 和 module.exports 的區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • NodeJS創(chuàng)建最簡單的HTTP服務(wù)器

    NodeJS創(chuàng)建最簡單的HTTP服務(wù)器

    這篇文章主要介紹了NodeJS創(chuàng)建最簡單的HTTP服務(wù)器的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Node快速切換版本、版本回退(降級)、版本更新(升級)

    Node快速切換版本、版本回退(降級)、版本更新(升級)

    這篇文章主要介紹了Node快速切換版本、版本回退(降級)、版本更新(升級),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • node.js中的fs.symlinkSync方法使用說明

    node.js中的fs.symlinkSync方法使用說明

    這篇文章主要介紹了node.js中的fs.symlinkSync方法使用說明,本文介紹了fs.symlinkSync的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • nodejs實(shí)現(xiàn)HTTPS發(fā)起POST請求

    nodejs實(shí)現(xiàn)HTTPS發(fā)起POST請求

    這篇文章主要介紹了nodejs實(shí)現(xiàn)HTTPS發(fā)起POST請求的實(shí)例代碼,非常的簡單實(shí)用,有需要的小伙伴可以參考下。
    2015-04-04
  • 云服務(wù)器部署Node.js項(xiàng)目的方法步驟(小白系列)

    云服務(wù)器部署Node.js項(xiàng)目的方法步驟(小白系列)

    這篇文章主要介紹了云服務(wù)器部署Node.js項(xiàng)目的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03

最新評論