Node.js抓取远程图片资源

<code>var http = require("http");
var fs = require("fs");
var request = require('request');
// 设置server服务
var server = http.createServer(function(req, res){}).listen(3000);

// 获取球员的头像
var baseUrl = "https://china.nba.com/media/img/players/head/260x190/";
request('https://china.nba.com/static/data/league/playerlist.json', function (error, response, body) {
\tif (!error && response.statusCode == 200) {

\t\tlet res = JSON.parse(body);
\t\tlet data = res.payload.players;
\t\tconsole.log(data.length);

data.forEach(function(item, index){
\tlet url = baseUrl+ item.playerProfile.playerId + '.png';

\thttp.get(url, function(res){
\t\t var imgData = "";

\t\t res.setEncoding("binary"); //一定要设置response的编码为binary否则会下载下来的图片打不开

\t\t res.on("data", function(chunk){
\t\t imgData+=chunk;
\t\t });

\t\t res.on("end", function(){
\t\t fs.writeFile("./downImg/" + item.playerProfile.playerId +".png", imgData, "binary", function(err){
\t\t if(err){
\t\t console.log("down fail" + url);
\t\t }
\t\t console.log("down success");
\t\t });
\t\t });
\t\t});
});
} \t
});

// 获取球队LOGO
var baseUrl = "https://mat1.gtimg.com/chinanba/images/nbateamlogo/126x90/";
for(let i=1; i<=30; i++){
\tlet url = baseUrl+ i + '.png';
\thttp.get(url, function(res){
\t var imgData = "";

\t res.setEncoding("binary"); //一定要设置response的编码为binary否则会下载下来的图片打不开

\t res.on("data", function(chunk){
\t imgData+=chunk;
\t });

\t res.on("end", function(){
\t fs.writeFile("./teamImg/" + i +".png", imgData, "binary", function(err){
\t if(err){
\t console.log("down fail" + url);
\t }
\t console.log("down success");
\t });
\t });
\t});
}/<code>


Node.js抓取远程图片资源


分享到:


相關文章: