gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

node爬取數(shù)據(jù)實(shí)例:聊聊怎么抓取小說章節(jié)

node怎么爬取數(shù)據(jù)?下面本篇文章給大家分享一個node爬蟲實(shí)例,聊聊利用node抓取小說章節(jié)的方法,希望對大家有所幫助!

node爬取數(shù)據(jù)實(shí)例:聊聊怎么抓取小說章節(jié)

準(zhǔn)備用electron制作一個小說閱讀工具練練手,那么首先要解決的就是數(shù)據(jù)問題,也就是小說的文本。

這里準(zhǔn)備使用nodejs對小說網(wǎng)站進(jìn)行爬蟲爬取,嘗試爬下一本小說,數(shù)據(jù)就不存放數(shù)據(jù)庫了,先使用txt作為文本存儲

node中對于網(wǎng)站的請求,本身就存在httphttps庫,內(nèi)部含有request請求方法。

實(shí)例:

request = https.request(TestUrl, { encoding:'utf-8' }, (res)=>{     let chunks = ''     res.on('data', (chunk)=>{         chunks += chunk     })     res.on('end',function(){         console.log('請求結(jié)束');     }) })

但是也就到此為止了,只是存取了一個html的文本數(shù)據(jù),并不能夠?qū)?nèi)部元素進(jìn)行提取之類的工作(也可以正則拿,但是太過復(fù)雜)。

我將訪問到的數(shù)據(jù)通過fs.writeFile方法存儲起來了,這只是整個網(wǎng)頁的html

node爬取數(shù)據(jù)實(shí)例:聊聊怎么抓取小說章節(jié)

但是我想要的還有各個章節(jié)中的內(nèi)容,這樣一來就需要獲取章節(jié)的超鏈接,組成超鏈接鏈表進(jìn)去爬取

node爬取數(shù)據(jù)實(shí)例:聊聊怎么抓取小說章節(jié)

cheerio庫

所以,這里就要介紹一個js的庫了,cheerio

官方文檔:https://cheerio.js.org/

中文文檔:https://github.com/cheeriojs/cheerio/wiki/Chinese-README

在文檔中,可以使用示例進(jìn)行調(diào)試

node爬取數(shù)據(jù)實(shí)例:聊聊怎么抓取小說章節(jié)


使用cheerio解析HTML

cheerio解析html時,獲取dom節(jié)點(diǎn)的方式與jquery相似。

根據(jù)之前獲取到的書籍首頁的html,查找自己想要的dom節(jié)點(diǎn)數(shù)據(jù)

const fs = require('fs') const cheerio = require('cheerio');  // 引入讀取方法 const { getFile, writeFun } = require('./requestNovel')  let hasIndexPromise = getFile('./hasGetfile/index.html');  let bookArray = [];  hasIndexPromise.then((res)=>{     let htmlstr = res;     let $ = cheerio.load(htmlstr);      $(".listmain dl dd a").map((index, item)=>{         let name = $(item).text(), href = 'https://www.shuquge.com/txt/147032/' + $(item).attr('href')         if (index > 11){             bookArray.push({ name, href })         }              })     // console.log(bookArray)     writeFun('./hasGetfile/hrefList.txt', JSON.stringify(bookArray), 'w') })

打印一下信息

node爬取數(shù)據(jù)實(shí)例:聊聊怎么抓取小說章節(jié)

可以同時將這些信息也存儲起來

node爬取數(shù)據(jù)實(shí)例:聊聊怎么抓取小說章節(jié)


現(xiàn)在章節(jié)數(shù)和章節(jié)的鏈接都有了,那么就可以獲取章節(jié)的內(nèi)容了。

因?yàn)榕颗廊∽詈笮枰狪P代理,這里還沒準(zhǔn)備,暫時先寫獲取某一章節(jié)小說的內(nèi)容方法

爬取某一章節(jié)的內(nèi)容其實(shí)也比較簡單:

// 爬取某一章節(jié)的內(nèi)容方法 function getOneChapter(n) {     return new Promise((resolve, reject)=>{         if (n >= bookArray.length) {             reject('未能找到')         }         let name = bookArray[n].name;         request = https.request(bookArray[n].href, { encoding:'gbk' }, (res)=>{             let html = ''             res.on('data', chunk=>{                 html += chunk;             })             res.on('end', ()=>{                            let $ = cheerio.load(html);                 let content = $("#content").text();                 if (content) {                     // 寫成txt                     writeFun(`./hasGetfile/${name}.txt`, content, 'w')                     resolve(content);                 } else {                     reject('未能找到')                 }             })         })         request.end();     }) }  getOneChapter(10)

node爬取數(shù)據(jù)實(shí)例:聊聊怎么抓取小說章節(jié)


這樣,就可以根據(jù)上面的方法,來創(chuàng)造一個調(diào)用接口,傳入不同的章節(jié)參數(shù),獲取當(dāng)前章節(jié)的數(shù)據(jù)

const express = require('express');  const IO = express(); const { getAllChapter, getOneChapter } = require('./readIndex') // 獲取章節(jié)超鏈接鏈表 getAllChapter();  IO.use('/book',function(req, res) {     // 參數(shù)     let query = req.query;     if (query.n) {         // 獲取某一章節(jié)數(shù)據(jù)         let promise = getOneChapter(parseInt(query.n - 1));         promise.then((d)=>{             res.json({ d: d })         }, (d)=>{             res.json({ d: d })         })     } else {         res.json({ d: 404 })     }      })  //服務(wù)器本地主機(jī)的數(shù)字 IO.listen('7001',function(){     console.log("啟動了。。。"); })

效果:

node爬取數(shù)據(jù)實(shí)例:聊聊怎么抓取小說章節(jié)

現(xiàn)在,一個簡單的查找章節(jié)接口就做好了,并且也可以做一些參數(shù)超出判斷。

對于不同的數(shù)據(jù)接口,爬蟲處理方式也不一樣,不過在本次爬取的鏈接中,內(nèi)容的顯示并不是由前端動態(tài)渲染出來的,所以可以直接爬取靜態(tài)的html即可。如果遇到數(shù)據(jù)是通過Ajax之類的方式獲取到的json串,那就要通過網(wǎng)絡(luò)接口去請求數(shù)據(jù)了。

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
国产理论在线播放| 国产不卡的av| 在线观看岛国av| 男女私大尺度视频| 国产成人手机视频| 天堂а√在线中文在线| 国产无限制自拍| 亚洲午夜激情影院| 国产人妻777人伦精品hd| 一女二男3p波多野结衣| 黄色一级视频播放| 国产免费人做人爱午夜视频| 中文字幕精品在线播放| 成人免费无码av| 成人在线播放网址| 日韩不卡一二区| 91看片就是不一样| 日韩少妇内射免费播放| 国产乱叫456| 午夜啪啪小视频| 天堂av在线网站| 熟女少妇精品一区二区| 欧美在线观看成人| 北条麻妃在线观看| 国产精品免费入口| 欧美日韩第二页| 欧美综合在线播放| 日韩精品xxxx| 天天爽人人爽夜夜爽| 超碰人人草人人| 日日噜噜夜夜狠狠久久丁香五月| 亚洲中文字幕无码一区二区三区| 强伦女教师2:伦理在线观看| 久久久99精品视频| 国产一级不卡毛片| 裸体大乳女做爰69| 青青在线免费观看| 中文字幕视频三区| 992tv快乐视频| 亚洲色图 在线视频| 老太脱裤子让老头玩xxxxx| 国产精品视频一区二区三区四区五区 | 三上悠亚久久精品| 欧美日韩第二页| 8x8x华人在线| 国产aⅴ爽av久久久久| www国产精品内射老熟女| 青娱乐国产精品视频| 日韩视频在线免费看| 穿情趣内衣被c到高潮视频| 老熟妇仑乱视频一区二区| 亚洲理论电影在线观看| 九九久久久久久| 久热精品在线观看视频| 欧美一级在线看| aa视频在线播放| 三上悠亚久久精品| 欧美一级片免费播放| 久久艹国产精品| 91免费国产精品| 成人av在线不卡| 伊人再见免费在线观看高清版| 91pony九色| 99精品视频国产| 中文字幕日韩综合| 欧美日韩亚洲自拍| 日本男女交配视频| 久久99久久久久久| 日本www在线视频| 777av视频| 鲁一鲁一鲁一鲁一澡| 草草草视频在线观看| 性欧美1819| 91精品无人成人www| 国产小视频精品| 免费黄色一级网站| 手机在线免费观看毛片| 国产三级三级三级看三级| 欧美三级一级片| 在线免费观看视频黄| 亚洲一级片网站| 国产免费999| 一区二区传媒有限公司| 草草视频在线免费观看| 亚洲色图久久久| 免费成人午夜视频| 亚洲第一精品区| 妺妺窝人体色www在线观看| 在线观看av网页| 手机在线观看日韩av| www.色偷偷.com| 免费无码毛片一区二三区| 性久久久久久久久久久久久久| 国产成人在线综合| 国产自产在线视频| 今天免费高清在线观看国语| 黄色动漫网站入口| 岛国大片在线播放| 国产又粗又猛大又黄又爽| 日韩国产一级片| 日本成人中文字幕在线| 免费裸体美女网站| 亚洲 激情 在线| 欧美另类videos| 激情综合在线观看| 91国内在线播放| 激情五月六月婷婷| 91香蕉视频免费看| 天堂在线一区二区三区| 国产1区2区3区中文字幕| 无码人妻丰满熟妇区毛片18| 在线视频日韩欧美| 免费在线观看亚洲视频| 国产区二区三区| 全黄性性激高免费视频| 丝袜老师办公室里做好紧好爽 | 男操女免费网站| 欧美伦理片在线观看| 日韩精品视频在线观看视频| 免费在线观看毛片网站| 中文字幕天天干| 六月丁香婷婷在线| 艳母动漫在线观看| 手机在线成人免费视频| 亚洲精品永久视频| 播放灌醉水嫩大学生国内精品| av不卡在线免费观看| 日本新janpanese乱熟| 欧美伦理片在线看| 日本女优爱爱视频| 五月天在线免费视频| 欧美日韩亚洲一| 亚洲男人天堂2021| 成人精品视频一区二区| 在线免费黄色小视频| 无码人妻h动漫| 亚洲天堂av一区二区| 亚洲美免无码中文字幕在线| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 51xx午夜影福利| 91看片破解版| 日韩在线观看a| 自拍偷拍 国产| 99视频精品全部免费看| 在线观看岛国av| 国产极品美女高潮无套久久久| www.爱色av.com| 美国av在线播放| 中文字幕国产传媒| 老司机激情视频| 尤物国产在线观看| 97在线播放视频| 2021国产视频| 污免费在线观看| 国产精品入口免费软件| 69精品丰满人妻无码视频a片| 男人和女人啪啪网站| 免费在线精品视频| 亚洲精品自拍网| 91国产精品视频在线观看| 女人喷潮完整视频| 久久成人福利视频| av 日韩 人妻 黑人 综合 无码| 91制片厂毛片| 成人黄色片视频| 日本一本二本在线观看| 日本日本19xxxⅹhd乱影响| 日韩精品一区二区免费| 亚洲av首页在线| 91精品国产毛片武则天| 欧美二区在线视频| 九九热精品在线播放| 天天想你在线观看完整版电影免费 | 在线看的黄色网址| 污视频在线观看免费网站| 99re8这里只有精品| 亚洲精品少妇一区二区| 一二三四中文字幕| 国产成人精品视频免费看| 无码少妇一区二区三区芒果| 国产精品久久久毛片| 久久免费一级片| 日韩欧美一区二| 99视频在线免费| 日本一道在线观看| 国产高清www| 国产精品又粗又长| 超碰在线人人爱| 中文字幕の友人北条麻妃| 国产伦精品一区二区三区四区视频_| 日韩中文字幕三区| 777久久精品一区二区三区无码 | 国产一区一区三区| 99久久久无码国产精品6| 男女激烈动态图| 九一精品久久久| 日韩不卡的av| 一区二区三区国产好的精华液| 国产91沈先生在线播放| 日本77777|