nodejs爬蟲獲取漫威超級英雄電影海報
昨天去看了《復聯3》的首映,當我提前15分鐘進入影院的時候, 看到了粉絲們取票的長隊, 頓時有一種跨年夜的感覺…
最近看了node爬蟲的一些知識, 這裡用node爬取一下漫威官網的電影海報!
// https://marvel.com/movies/all
const request = require(`superagent`)
const cheerio = require(`cheerio`)
const fs = require(`fs-extra`)
const path = require(`path`)
let url = `https://marvel.com/movies/all`
// 獲取圖片url和圖片名字
async function getUrlAndName(){
// 用於儲存返回值
let imgAddrArray = []
// 請求資源
const res = await request.get(url)
// 將獲取的html, 轉換為資源符$, 相當於python中的xpath語法的etree過程
const $ = cheerio.load(res.text)
// 定位資源位置, 將圖片資源,和圖片名字, 以陣列方式, 返回給呼叫函式
$(`.row-item-image a`).each(function(i, elem){
let movieName = $(this).attr(`href`).split(`/`).pop()
let imgAddr = $(this).find(`img`).attr(`src`)
imgAddrArray.push([imgAddr, movieName])
})
return imgAddrArray
}
// 下載圖片
async function download(imgAndName){
// 拼接出, 當前資源的檔名
let filename = imgAndName[1] + `.jpg`
console.log("爬取海報:", filename);
// 獲取圖片二進位制資料
const req = request.get(imgAndName[0]);
// 儲存圖片
await req.pipe(fs.createWriteStream(path.join(__dirname, `images`, filename)));
}
// 建立資料夾, 控制整體流程
async function init(){
let imgAddrArray = await getUrlAndName()
// 建立資料夾
try{
await fs.mkdir(path.join(__dirname, `images`));
}
catch(err){
console.log("==>", err);
}
// 獲取資源
for (let imgAddr of imgAddrArray){
await download(imgAddr);
}
}
init()
小結:
直觀感受, node爬蟲並沒有python好用, 而且由於瀏覽器的同源限制, 在瀏覽器端跑node爬蟲也會有些麻煩;node爬蟲的優勢:理論上講,node預設的非同步玩法, 能達到python的多執行緒爬蟲的效果.
寫爬蟲, 還是老老實實用python吧!
相關文章
- 擼個爬蟲,爬取電影種子爬蟲
- 爬蟲01:爬取豆瓣電影TOP 250基本資訊爬蟲
- 爬蟲如何爬取貓眼電影TOP榜資料爬蟲
- python初級爬蟲之貓眼電影Python爬蟲
- Python爬蟲筆記(4):利用scrapy爬取豆瓣電影250Python爬蟲筆記
- Python爬蟲教程-17-ajax爬取例項(豆瓣電影)Python爬蟲
- python爬蟲 爬取豆瓣電影 1-10 ajax 資料Python爬蟲
- Python爬蟲例項:爬取貓眼電影——破解字型反爬Python爬蟲
- nodejs 爬蟲NodeJS爬蟲
- 撿了滑鼠開網咖系列——nodejs爬取電影連結NodeJS
- 超級英雄集結 《漫威爭鋒》國服技術測試今日開啟!
- looter——超輕量級爬蟲框架爬蟲框架
- 超輕量級反爬蟲方案爬蟲
- Python爬取電影天堂Python
- Python網路爬蟲(正則, 內涵段子,貓眼電影, 鏈家爬取)Python爬蟲
- python-爬蟲-css提取-寫入csv-爬取貓眼電影榜單Python爬蟲CSS
- [python爬蟲] BeautifulSoup和Selenium對比爬取豆瓣Top250電影資訊Python爬蟲
- Python網路爬蟲實踐案例:爬取貓眼電影Top100Python爬蟲
- scrapy爬取豆瓣電影資料
- python爬蟲如何獲取表情包Python爬蟲
- 手把手教你網路爬蟲(爬取豆瓣電影top250,附帶原始碼)爬蟲原始碼
- nodejs 30行程式碼 爬豆瓣電影資料NodeJS行程
- 1.HtmlAgilityPack爬取優酷電影名HTML
- 一個基於 golang 的爬蟲電影站Golang爬蟲
- Python電影爬蟲之身體每況愈下Python爬蟲
- Python爬蟲批次下載電影連結Python爬蟲
- Golang框架beego電影網爬蟲小試牛刀Golang框架爬蟲
- 【python爬蟲案例】利用python爬取豆瓣電影TOP250評分排行資料!Python爬蟲
- Python爬蟲入門 | 7 分類爬取豆瓣電影,解決動態載入問題Python爬蟲
- python爬蟲學習01--電子書爬取Python爬蟲
- 分享已個根據電影名稱 下載電影海報的外掛
- 擼個有成就感的爬蟲看電影爬蟲
- 獲取爬蟲動態IP的三種方法爬蟲
- 爬蟲例項-淘寶頁面商品資訊獲取爬蟲
- Scrapy爬蟲 - 獲取知乎使用者資料爬蟲
- python爬蟲獲取百度熱搜Python爬蟲
- 為爬蟲獲取登入cookies: 使用browsercookie從瀏覽器獲取cookies爬蟲Cookie瀏覽器
- 爬蟲效能:NodeJs VS Python爬蟲NodeJSPython