Node.js 利用cheerio制作簡單的網(wǎng)頁爬蟲示例
本文介紹了Node.js 利用cheerio制作簡單的網(wǎng)頁爬蟲示例,分享給大家,具有如下:
1. 目標(biāo)
- 完成對網(wǎng)站的標(biāo)題信息獲取
- 將獲取到的信息輸出在一個新文件
- 工具: cheerio,使用npm下載npm install cheerio
- cheerio的API使用方法和jQuery的使用方法基本一致
- 如果熟練使用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)文章
nodejs清空/刪除指定文件夾下面所有文件或文件夾的方法示例
這篇文章主要介紹了nodejs清空/刪除指定文件夾下面所有文件或文件夾的方法,通過兩個具體案例形式分析了node.js同步刪除文件/文件夾,以及異步刪除文件/文件夾的相關(guān)實(shí)現(xiàn)技巧,涉及遞歸遍歷與文件判斷、回調(diào)等相關(guān)操作,需要的朋友可以參考下2023-04-04
Linux下為Node.js程序配置MySQL或Oracle數(shù)據(jù)庫的方法
這篇文章主要介紹了Linux下為Node.js程序配置MySQL或Oracle數(shù)據(jù)庫的方法,這里默認(rèn)已經(jīng)裝配好了Node環(huán)境然后我們利用npm包管理工具來進(jìn)行配置,需要的朋友可以參考下2016-03-03
node.js使用免費(fèi)的阿里云ip查詢獲取ip所在地【推薦】
這篇文章主要介紹了node.js使用免費(fèi)的阿里云ip查詢獲取ip所在地的相關(guān)知識,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下2018-09-09
Node.js+pm2+ssh2模塊實(shí)現(xiàn)簡單的自動化部署腳本
本文將介紹如何使用Node.js和ssh2模塊實(shí)現(xiàn)一個簡單的部署腳本,將本地的項(xiàng)目文件上傳到遠(yuǎn)程服務(wù)器上,我們將使用dotenv模塊來管理環(huán)境變量,以及child_process模塊來執(zhí)行命令行操作2023-10-10
解決npm?install版本不匹配問題:?npm?ERR!?code?ETARGET?npm?ERR!?
這篇文章主要介紹了如何解決npm?install版本不匹配問題:?npm?ERR!?code?ETARGET?npm?ERR!?notarget?No?matching?version?found?for,文中給出了詳細(xì)的解決方法,需要的朋友可以參考下2024-02-02
node.js+express制作網(wǎng)頁計(jì)算器
這篇文章主要介紹了node.js+express制作網(wǎng)頁計(jì)算器的相關(guān)資料,需要的朋友可以參考下2016-01-01

