柚子快報激活碼778899分享:Node爬蟲
柚子快報激活碼778899分享:Node爬蟲
背景:
????????在此之前,一直使用的python去進行爬蟲,爬取一些簡單重復(fù)的數(shù)據(jù)。突然在想,使用node如何進行爬蟲。在此記錄一下。
實現(xiàn):
? ? ? ? 1、首先你的電腦必須要有node環(huán)境,沒有的可以安裝一下。網(wǎng)上有很多教程。
? ? ? ? 2、初始化一個項目,npm init -y?
? ? ? ? 3、安裝一些拓展。request用于向指定地址發(fā)送請求,cheerio 相當(dāng)于jquery,可以簡化dom操作。
npm install request --save
npm install cheerio --save
以某一個頁面為例,我想爬取頁面中的歌詞。首先復(fù)制地址,保存到代碼中(let url =xxx)。
? ? ? ?然后,按f12鍵位,打開開發(fā)者工具,找到對應(yīng)想要爬取的數(shù)據(jù)結(jié)構(gòu)。如下圖。
?在代碼中輸入對應(yīng)的元素類名或者標簽名,匹配到對應(yīng)的元素。
const request = require("request");
const cheerio = require("cheerio");
const copyWords = (url) => {
request(url, function (error, response, body) {
// 如果請求成功且狀態(tài)碼為 200
if (!error && response.statusCode == 200) {
// 使用 cheerio 加載 HTML 文檔
const $ = cheerio.load(body);
// 存儲獲取到的數(shù)據(jù)
// 獲取hotnews下全部的li元素
let keywords = "";
$(".entry-content")
.find("p")
.each(function (index, value) {
//獲取Text中內(nèi)容
let obj = value.children;
for (let i = 0; i < obj.length; i++) {
if (obj[i].type === "text") {
keywords += ',' + obj[i].data;
}
}
console.log(keywords,'keywords');
});
}
});
};
module.exports = { copyWords };
圖中代碼需要根據(jù)個人實際情況做一些修改。 最后調(diào)用函數(shù)。結(jié)果如下。
柚子快報激活碼778899分享:Node爬蟲
相關(guān)鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。