node.js爬取數(shù)據(jù) node可以做很多事情,比如爬蟲、通信等等。 今天就先做一個(gè)爬蟲,爬取一些百度圖片。
首先我們需要引入一些模塊
var http = require("http"); var https = require("https"); var fs = require("fs"); var cheerio = require("cheerio");
這里需要注意cheerio是擴(kuò)展模塊需要裝一下
npm install cheerio --save
然后要把這些圖片的url地址獲取下來(lái)
const wz="http://image.baidu.com/"; var strHtml=""; var resuts=[];//定義一個(gè)空數(shù)組,將數(shù)據(jù)內(nèi)容存在里面 http.get(wz,function(res){ //接收數(shù)據(jù) res.on("data",function(data){ strHtml+=data; }); //接收完成 res.on("end",function(){ var $=cheerio.load(strHtml); //找到這些圖片的位置 $(".img_single_box img").each(function(index,item){ resuts.push($(item).attr("src")) }); console.log(resuts); //循環(huán)調(diào)用圖片函數(shù) for(var i=0;i然后根據(jù)圖片URL地址保存成圖片
function saveImage(resuts){ https.get(resuts,function(res){ res.setEncoding("binary");//二進(jìn)制 var imageData="";//將圖片加載到內(nèi)存中 res.on("data",function(a){ imageData+=a; }).on("end",function(){ //創(chuàng)建文件夾,如果有就不用創(chuàng)建 if(!fs.existsSync("./images")){ fs.mkdirSync("./images"); }; //保存圖片 fs.writeFile(".images/"+Math.random()+".png",imageData,"binary",function(err){ if(!err) console.log("保存成功"); }); }); }); }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/89077.html
摘要:上面只爬取了京東首頁(yè)的圖片內(nèi)容,假設(shè)我的需求進(jìn)一步擴(kuò)大,需要爬取京東首頁(yè)中的所有標(biāo)簽對(duì)應(yīng)的跳轉(zhuǎn)網(wǎng)頁(yè)中的所有的文字內(nèi)容,最后放到一個(gè)數(shù)組中。 showImg(https://segmentfault.com/img/bVbtVeV?w=3840&h=2160); 本文適合無(wú)論是否有爬蟲以及Node.js基礎(chǔ)的朋友觀看~ 需求: 使用Node.js爬取網(wǎng)頁(yè)資源,開箱即用的配置 將爬取到的...
摘要:上面只爬取了京東首頁(yè)的圖片內(nèi)容,假設(shè)我的需求進(jìn)一步擴(kuò)大,需要爬取京東首頁(yè)中的所有標(biāo)簽對(duì)應(yīng)的跳轉(zhuǎn)網(wǎng)頁(yè)中的所有的文字內(nèi)容,最后放到一個(gè)數(shù)組中。 showImg(https://segmentfault.com/img/bVbtVeV?w=3840&h=2160); 本文適合無(wú)論是否有爬蟲以及Node.js基礎(chǔ)的朋友觀看~ 需求: 使用Node.js爬取網(wǎng)頁(yè)資源,開箱即用的配置 將爬取到的...
摘要:上面只爬取了京東首頁(yè)的圖片內(nèi)容,假設(shè)我的需求進(jìn)一步擴(kuò)大,需要爬取京東首頁(yè)中的所有標(biāo)簽對(duì)應(yīng)的跳轉(zhuǎn)網(wǎng)頁(yè)中的所有的文字內(nèi)容,最后放到一個(gè)數(shù)組中。 showImg(https://segmentfault.com/img/bVbtVeV?w=3840&h=2160); 本文適合無(wú)論是否有爬蟲以及Node.js基礎(chǔ)的朋友觀看~ 需求: 使用Node.js爬取網(wǎng)頁(yè)資源,開箱即用的配置 將爬取到的...
摘要:這里由于京東的分界面都使用了,所以我們可以用,總之他們開發(fā)能用的選擇器,我們都可以用,否則就不可以。 難道爬蟲只能用 python 做? 不,我們上天的 Node.js 也可以做! 需要準(zhǔn)備的包 Node.js的最新版本 下載地址 Node.js官網(wǎng) npm 包管理器下載 下載最新的官網(wǎng)版本 Node.js 會(huì)自帶 npm npm的第三方包 puppeteer 在對(duì)應(yīng)...
摘要:這里由于京東的分界面都使用了,所以我們可以用,總之他們開發(fā)能用的選擇器,我們都可以用,否則就不可以。 難道爬蟲只能用 python 做? 不,我們上天的 Node.js 也可以做! 需要準(zhǔn)備的包 Node.js的最新版本 下載地址 Node.js官網(wǎng) npm 包管理器下載 下載最新的官網(wǎng)版本 Node.js 會(huì)自帶 npm npm的第三方包 puppeteer 在對(duì)應(yīng)...
閱讀 3227·2021-11-25 09:43
閱讀 3221·2021-11-23 09:51
閱讀 3532·2019-08-30 13:08
閱讀 1585·2019-08-29 12:48
閱讀 3606·2019-08-29 12:26
閱讀 414·2019-08-28 18:16
閱讀 2578·2019-08-26 13:45
閱讀 2445·2019-08-26 12:15