亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Node.js學(xué)習(xí)之路22——利用cheerio制作簡(jiǎn)單的網(wǎng)頁(yè)爬蟲(chóng)

jsyzchen / 1571人閱讀

摘要:利用制作簡(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

cheerioAPI使用方法和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

相關(guān)文章

  • node學(xué)習(xí)之路(一)—— 網(wǎng)絡(luò)請(qǐng)求

    摘要:域套接字使用或指定請(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....

    bovenson 評(píng)論0 收藏0
  • 分分鐘教你用node.js寫(xiě)個(gè)爬蟲(chóng)

    摘要:爬蟲(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)方面...

    fanux 評(píng)論0 收藏0
  • Node.js實(shí)現(xiàn)簡(jiǎn)易爬蟲(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...

    BearyChat 評(píng)論0 收藏0
  • node.js 89行爬蟲(chóng)爬取智聯(lián)招聘信息

    摘要:智聯(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...

    _ivan 評(píng)論0 收藏0
  • 使用Node.js開(kāi)發(fā)一個(gè)小爬蟲(chóng)

    摘要:前言很多程序猿在最開(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)玩下。...

    Songlcy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<