Node.js學習之路22——利用cheerio製做簡單的網頁爬蟲

利用cheerio製做簡單的網頁爬蟲

1. 目標

  • 完成對網站的標題信息獲取
  • 將獲取到的信息輸出在一個新文件
  • 工具: cheerio,使用npm下載npm install cheerio
  • cheerioAPI使用方法和jQuery的使用方法基本一致
  • 若是熟練使用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('獲取網頁信息錯誤');
});

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文件系統建立新文件失敗', err);
        }
        console.log(`已成功將獲取到的標題放入新文件${fileName}文件中`)
    })
}
相關文章
相關標籤/搜索