av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

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

瀏覽:109日期: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
相關文章:
主站蜘蛛池模板: 九一视频在线播放 | 精品伊人久久 | 国产精品美女久久久久久久网站 | 欧美中文字幕一区二区三区亚洲 | 精品国产伦一区二区三区观看体验 | 亚洲色在线视频 | 精品国产一区二区 | 欧美日韩在线一区 | 五十女人一级毛片 | 国产精品久久久久久影院8一贰佰 | 亚洲欧美一区二区在线观看 | 国产一区二区三区在线视频 | 一区二区日韩 | 激情五月综合网 | 一区二区三区高清 | 人人干天天干 | 黄色在线免费观看视频网站 | 成人在线视频一区 | 国产精品高潮呻吟久久av黑人 | 一二三四在线视频观看社区 | 男女午夜激情视频 | 久久99精品久久久久久噜噜 | 午夜丰满寂寞少妇精品 | 国产综合在线视频 | 久久久精 | 久久国产精品偷 | 在线一区二区观看 | 精久久久久| 中文字幕日本一区二区 | 午夜精品久久久久久久久久久久久 | 国产精品久久久久久久久久免费 | 搞av.com | 欧美三区| 韩日一区 | 国产精品美女久久久久aⅴ国产馆 | 欧美日韩在线一区二区三区 | 亚洲情侣视频 | 国产日韩一区二区三免费高清 | 美女国内精品自产拍在线播放 | 久久久精品一区 | 日韩区|