您好,登錄后才能下訂單哦!
今天沒有什么前言,就是想分享些關(guān)于爬蟲
的技術(shù),任性。來吧,各位客官,里邊請...
爬蟲
是什么嘞?首先咱們說哈,爬蟲不是“蟲子”,姑涼們不要害怕。
爬蟲
- 一種通過一定方式按照一定規(guī)則抓取數(shù)據(jù)的操作或方法。
爬蟲
能做什么嘞?來來來,談?wù)勑枨?/p>
產(chǎn)品MM:
研發(fā)GG:
爬蟲
隨時準(zhǔn)備為您服務(wù)!
爬蟲
如何實(shí)現(xiàn)嘞?實(shí)現(xiàn)爬蟲的技術(shù)有很多,如python、Node等,今天胡哥給大家分享使用Node做爬蟲:爬取小說網(wǎng)站-首頁推薦小說
目標(biāo)網(wǎng)站:https://www.23us.so
我們要獲取排行榜中六部小說的:書名、封面、以及小說書籍信息對應(yīng)的地址(后續(xù)獲取小說完整信息)
網(wǎng)頁的內(nèi)容是由HTML生成的,抓取內(nèi)容就相當(dāng)找到特定的HTML結(jié)構(gòu),獲取該元素的值。
打開網(wǎng)頁調(diào)試控制臺
,查看元素HTML結(jié)構(gòu)。
注意觀察頁面HTML的結(jié)構(gòu),排行榜推薦的小說的HTML結(jié)構(gòu)是
bdo#s-dd 元素
dd 子元素 - 每一部小說
a 目錄信息
img 封面
a 小說名稱
工具善其事必先利其器,準(zhǔn)備好趁手的兵器!
superagent
模擬客戶端發(fā)送網(wǎng)絡(luò)請求,可設(shè)置請求參數(shù)、header頭信息
npm install superagent -D
cheerio
類jQuery庫,可將字符串導(dǎo)入,創(chuàng)建對象,用于快速抓取字符串中的符合條件的數(shù)據(jù)
npm install cheerio -D
項(xiàng)目目錄:
node-pachong/
- index.js
- package.json
- node_modules/
上代碼:
// node-pachong/index.js
/**
* 使用Node.js做爬蟲實(shí)戰(zhàn)
* author: justbecoder <justbecoder@aliyun.com>
*/
// 引入需要的工具包
const sp = require('superagent');
const cheerio = require('cheerio');
// 定義請求的URL地址
const BASE_URL = 'http://www.23us.so';
// 1. 發(fā)送請求,獲取HTML字符串
(async () => {
let html = await sp.get(BASE_URL);
// 2. 將字符串導(dǎo)入,使用cheerio獲取元素
let $ = cheerio.load(html.text);
// 3. 獲取指定的元素
let books = []
$('#s_dd dd').each(function () {
let info = {
link: $(this).find('a').eq(0).attr('href'),
name: $(this).find('a').eq(1).text(),
image: $(this).find('img').attr('src')
}
books.push(info)
})
console.log(books)
})()
友情提醒:
每個網(wǎng)站的HTML結(jié)構(gòu)是不一樣,在抓取不同網(wǎng)站的數(shù)據(jù)時,要分析不同的解構(gòu),才能百發(fā)百中。
效果圖:
獲取到信息之后,做接口數(shù)據(jù)返回、存儲數(shù)據(jù)庫,你想干啥都行...
關(guān)注胡哥有話說
公眾號,回復(fù)“爬蟲”,即可獲取源碼地址。
以上就是胡哥今天給大家分享的內(nèi)容,喜歡的小伙伴記得收藏
、轉(zhuǎn)發(fā)
、點(diǎn)擊右下角按鈕在看
,推薦給更多小伙伴呦,歡迎多多留言交流...
胡哥有話說,一個有技術(shù),有情懷的胡哥!京東開放平臺首席前端攻城獅。與你一起聊聊大前端,分享前端系統(tǒng)架構(gòu),框架實(shí)現(xiàn)原理,最新最高效的技術(shù)實(shí)踐!
長按掃碼關(guān)注,更帥更漂亮呦!關(guān)注胡哥有話說公眾號,可與胡哥繼續(xù)深入交流呦!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。