国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

javascript - nodejs中使用request庫怎么抓取網頁中的圖片

瀏覽:95日期:2023-09-01 13:23:31

問題描述

const koa = require(’koa’);const request = require(’request’);const fs = require(’fs’);const path = require(’path’);function requestAsync(url) { return new Promise((resolve, reject) => {request({ url: url}, (err, res, body) => { if (err) {reject(err); } else {resolve(body); }}) });}function writeFileAsync(path, data, option) { return new Promise((resolve, reject) => {fs.writeFile(path, data, option, (err)=> { if (err) {reject(err); } else {resolve(); }}) });}const app = new koa();app.use(async (ctx) => { let url = ’http://pubimage.360doc.com/index7/bannerl_1.jpg’; let filepath = path.join(__dirname, ’./images/詳情’); filepath = filepath + ’/1.jpg’; // request(url).pipe(fs.createWriteStream(filepath));這個可以正常抓取圖片 let data = await requestAsync(url); let buffer = Buffer.from(data); await writeFileAsync(filepath, buffer); ctx.type = ’jpg’; ctx.body = buffer;})app.listen(3000);console.log(`starting at ${3000}`);

我把request 和 writefile 都寫成了promise的形式,抓取html是可以的,抓取圖片就不行了

一開始data 輸出是string類型,也就是request 的body是string類型,我就使用Buffer.from

轉為buffer類型,也是不行,改為Buffer.from(data, ’base64’)也是不行,但就是使用 request(url).pipe(fs.createWriteStream(filepath))就可以請問一下哪里出錯了

問題解答

回答1:

/q/10...

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 涿州市| 大竹县| 米脂县| 荣成市| 武定县| 兴海县| 新沂市| 石楼县| 潮州市| 新余市| 岢岚县| 蒙城县| 团风县| 宣恩县| 岫岩| 郎溪县| 芷江| 泰安市| 丰县| 盱眙县| 高雄县| 油尖旺区| 开江县| 胶州市| 渑池县| 绥江县| 如东县| 陕西省| 化州市| 晴隆县| 郯城县| 淳化县| 门源| 甘泉县| 东方市| 泸水县| 洪雅县| 苍梧县| 新津县| 琼海市| 确山县|