ดึงไฟล์ภาพจากเว็บด้วย Node.js แต่ให้ AI เขียนให้
ประเด็นเริ่มมาจากอยากเก็บมังงะเรื่องนึงเอาไว้อ่านเวลาไม่มี internet แต่จำนวนรูปมันเยอะเหลือเกิน ทำให้ขี้เกียจคลิกขวา Save ทีละไฟล์…
ดึงไฟล์ภาพจากเว็บด้วย Node.js แต่ให้ AI เขียนให้

ประเด็นเริ่มมาจากอยากเก็บมังงะเรื่องนึงเอาไว้อ่านเวลาไม่มี internet แต่จำนวนรูปมันเยอะเหลือเกิน ทำให้ขี้เกียจคลิกขวา Save ทีละไฟล์ ก็เลยไปบ่นๆ กับ AI แล้วหลังจากนั้นมันก็ให้ Code ไปโหลดเลย (ดีจริงๆ)
หลักๆ lib ที่ AI มันใช้ก็มีอยู่ 2 ตัวคือ 1.) axios เอาไว้เรียก http Request ตามปกติ 2.) cheerio เอาไว้จัดการ element เปรียบเสมือนกับ jquery อะไรประมาณนั้นเลย
เอาโค้ดหลักๆ ประมาณนี้
<div class="img-class">
<div class="pages">
<img id="image-0" src="https://example.com/image1.jpg">
</div>
<div class="pages">
<img id="image-1" src="https://example.com/image2.jpg">
</div>
...
</div>
const URL = "https://test.com"
const { data: html } = await axios.get(URL);
const $ = cheerio.load(html);
const images = $('.img-class img'); /* อันนี้คือก็คือไปหา tag class img-class ที่อยู่บนเว็บที่เราไปดึงข้อมูล*/
/* พอเราได้มา ก็ควรจะได้เป็น array ของรูปมาใช้งาน จากนั้นก็เอาไปวนลูปเพื่อทำการ Save รูป */
const response = await axios.get(UrlImage, { responseType: 'stream' });
const writer = fs.createWriteStream(filePath);
response.data.pipe(writer);
/* อันนี้รอโหลดเสร็จก่อน ค่อยโหลดอันต่อไป */
await new Promise((resolve, reject) => {
writer.on('finish', resolve);
writer.on('error', reject);
});
เอาจริงๆ อันนี้แค่ย่อโค้ดมา ซึ่งที่ AI ให้มาเนี่ย แทบจะทำงานได้ 99.99 เลย มาแก้โค้ดแค่นิดหน่อยเท่านัน เลยจะบอกว่าชิวสุดๆ
ใครอยากได้โค้ดเต็มๆ จริงๆ โยนแค่นี้ไปถาม AI เพิ่ม คิดว่าเดี๋ยวมันก็ Gen Code แบบเต็มมาให้พร้อมใช้งานได้จริงๆ 555
แต่ข้อควรระวังเลย ก็คือเว็บบล็อกเราได้ ถ้าเกิดเราเรียก API ถี่เกินไปแบบแปลกๆ แล้วมีคน monitor อ่านะ หรือพวกเว็บที่ block ก็โหลดไม่ได้เหมือนกัน
메타데이터
- post_id
- 7fa22de48e5b
- slug
- ดึงไฟล์ภาพจากเว็บด้วย-node-js-แต่ให้-ai-เขียนให้-7fa22de48e5b
- url
- https://medium.com/@arymiku/%E0%B8%94%E0%B8%B6%E0%B8%87%E0%B9%84%E0%B8%9F%E0%B8%A5%E0%B9%8C%E0%B8%A0%E0%B8%B2%E0%B8%9E%E0%B8%88%E0%B8%B2%E0%B8%81%E0%B9%80%E0%B8%A7%E0%B9%87%E0%B8%9A%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2-node-js-%E0%B9%81%E0%B8%95%E0%B9%88%E0%B9%83%E0%B8%AB%E0%B9%89-ai-%E0%B9%80%E0%B8%82%E0%B8%B5%E0%B8%A2%E0%B8%99%E0%B9%83%E0%B8%AB%E0%B9%89-7fa22de48e5b
- canonical_url
- https://medium.com/@arymiku/%E0%B8%94%E0%B8%B6%E0%B8%87%E0%B9%84%E0%B8%9F%E0%B8%A5%E0%B9%8C%E0%B8%A0%E0%B8%B2%E0%B8%9E%E0%B8%88%E0%B8%B2%E0%B8%81%E0%B9%80%E0%B8%A7%E0%B9%87%E0%B8%9A%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2-node-js-%E0%B9%81%E0%B8%95%E0%B9%88%E0%B9%83%E0%B8%AB%E0%B9%89-ai-%E0%B9%80%E0%B8%82%E0%B8%B5%E0%B8%A2%E0%B8%99%E0%B9%83%E0%B8%AB%E0%B9%89-7fa22de48e5b
- author_url
- https://medium.com/@arymiku
- status
- ok
- fetched_at
- 2026-08-09 15:22:09