摘要:利用制作簡(jiǎn)單的網(wǎng)頁(yè)爬蟲(chóng)目標(biāo)完成對(duì)網(wǎng)站的標(biāo)題信息獲取將獲取到的信息輸出在一個(gè)新文件工具,使用下載的使用方法和的使用方法基本一致如果熟練使用,那么將會(huì)很快上手代碼部分介紹獲取頁(yè)面的列表標(biāo)題,將獲取到的標(biāo)題列表編號(hào),最終輸出到文件里獲取網(wǎng)頁(yè)信息錯(cuò)
利用cheerio制作簡(jiǎn)單的網(wǎng)頁(yè)爬蟲(chóng) 1. 目標(biāo)
完成對(duì)網(wǎng)站的標(biāo)題信息獲取
將獲取到的信息輸出在一個(gè)新文件
工具: cheerio,使用npm下載npm install cheerio
cheerio的API使用方法和jQuery的使用方法基本一致
如果熟練使用jQuery,那么cheerio將會(huì)很快上手
2. 代碼部分介紹: 獲取segment fault頁(yè)面的列表標(biāo)題,將獲取到的標(biāo)題列表編號(hà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)頁(yè)信息錯(cuò)誤"); }); 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(` ${index}, ${chapterTitle}`); } fs.writeFile(fileName, data, "utf8", (err) => { if (err) { console.log("fs文件系統(tǒng)創(chuàng)建新文件失敗", err); } console.log(`已成功將獲取到的標(biāo)題放入新文件${fileName}文件中`) }) }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/93019.html
摘要:域套接字使用或指定請(qǐng)求方法的字符串。請(qǐng)求路徑包含非法字符時(shí)拋出異常。保持資源池周圍的套接字在未來(lái)被用于其它請(qǐng)求。默認(rèn)值為當(dāng)使用的時(shí)候,通過(guò)正在保持活動(dòng)的套接字發(fā)送包的頻繁程度。 文章來(lái)源:小青年原創(chuàng)發(fā)布時(shí)間:2016-09-29關(guān)鍵詞:JavaScript,nodejs,http,url ,Query String,爬蟲(chóng)轉(zhuǎn)載需標(biāo)注本文原始地址: http://zhaomenghuan....
摘要:爬蟲(chóng)介紹二爬蟲(chóng)的分類通用網(wǎng)絡(luò)爬蟲(chóng)全網(wǎng)爬蟲(chóng)爬行對(duì)象從一些種子擴(kuò)充到整個(gè),主要為門(mén)戶站點(diǎn)搜索引擎和大型服務(wù)提供商采集數(shù)據(jù)。 分分鐘教你用node.js寫(xiě)個(gè)爬蟲(chóng) 寫(xiě)在前面 十分感謝大家的點(diǎn)贊和關(guān)注。其實(shí),這是我第一次在segmentfault上寫(xiě)文章。因?yàn)槲乙彩乔岸螘r(shí)間偶然之間才開(kāi)始了解和學(xué)習(xí)爬蟲(chóng),而且學(xué)習(xí)node的時(shí)間也不是很長(zhǎng)。雖然用node做過(guò)一些后端的項(xiàng)目,但其實(shí)在node和爬蟲(chóng)方面...
摘要:為什么選擇利用來(lái)寫(xiě)爬蟲(chóng)呢就是因?yàn)檫@個(gè)庫(kù),全兼容語(yǔ)法,熟悉的話用起來(lái)真真是爽依賴選擇版的封裝了一個(gè)服務(wù)器和一個(gè)簡(jiǎn)易的客戶端解決爬取網(wǎng)頁(yè)出現(xiàn)亂碼初步實(shí)現(xiàn)既然是要爬取網(wǎng)站內(nèi)容,那我們就應(yīng)該先去看看網(wǎng)站的基本構(gòu)成選取的是電影天堂作為目標(biāo)網(wǎng)站,想要 為什么選擇利用node來(lái)寫(xiě)爬蟲(chóng)呢?就是因?yàn)閏heerio這個(gè)庫(kù),全兼容jQuery語(yǔ)法,熟悉的話用起來(lái)真真是爽 依賴選擇 cheerio: Nod...
摘要:智聯(lián)其實(shí)一共寫(xiě)了兩次,有興趣的可以在源碼看看,第一版的是回調(diào)版,只能一次一頁(yè)的爬取。 寫(xiě)在前面的話, .......還是不寫(xiě)了,直接上效果圖。附上源碼地址 github.lonhon showImg(https://segmentfault.com/img/bVUM3F?w=714&h=543);showImg(https://segmentfault.com/img/bVUM...
摘要:前言很多程序猿在最開(kāi)始學(xué)習(xí)開(kāi)發(fā)的時(shí)候應(yīng)該都有一個(gè)想要自己開(kāi)發(fā)一個(gè)爬蟲(chóng)的想法至少我是有的。其實(shí)弄懂了爬蟲(chóng)的原理,再回過(guò)頭去看,發(fā)現(xiàn)開(kāi)發(fā)一個(gè)簡(jiǎn)單的爬蟲(chóng)來(lái)說(shuō)還是很容易的。 前言 很多程序猿在最開(kāi)始學(xué)習(xí)開(kāi)發(fā)的時(shí)候應(yīng)該都有一個(gè)想要自己開(kāi)發(fā)一個(gè)爬蟲(chóng)的想法(至少我是有的)。所以國(guó)內(nèi)網(wǎng)絡(luò)上也是爬蟲(chóng)盛行!學(xué)了node.js之后發(fā)現(xiàn)比較適合寫(xiě)爬蟲(chóng),不過(guò)一直沒(méi)有動(dòng)手去寫(xiě),正好這段時(shí)間比較閑,就寫(xiě)個(gè)爬蟲(chóng)玩下。...
閱讀 2887·2023-04-26 01:47
閱讀 3658·2023-04-25 23:45
閱讀 2564·2021-10-13 09:39
閱讀 663·2021-10-09 09:44
閱讀 1880·2021-09-22 15:59
閱讀 2896·2021-09-13 10:33
閱讀 1846·2021-09-03 10:30
閱讀 705·2019-08-30 15:53