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

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - nodejs中使用request庫怎么抓取網(wǎng)頁中的圖片

瀏覽:121日期: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

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

問題解答

回答1:

/q/10...

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 和田市| 桃江县| 宜宾县| 蒙山县| 宿松县| 宁河县| 深泽县| 新田县| 当涂县| 新田县| 汉阴县| 永和县| 隆德县| 绩溪县| 城口县| 嘉义市| 白山市| 通辽市| 江阴市| 台东市| 彰化市| 丰都县| 吴堡县| 钟祥市| 德化县| 从江县| 周口市| 中西区| 阳东县| 庆阳市| 永新县| 宜章县| 乐业县| 新余市| 彭水| 黎川县| 金山区| 吴江市| 晋城| 延安市| 息烽县|