Python โหลดรูปภาพจาก URL (โหลดภาพจากลิงก์) ทำอย่างไร
วิธีการโหลดรูปภาพจากลิงก์หลาย ๆ ลิงก์ด้วย Python สามารถทำได้โดยใช้ Request, BytesIO, และ PIL.Image พร้อมปรับขนาดรูปและเซฟเก็บ
การโหลดรูปภาพจากอินเตอร์เน็ตนั้นสำหรับวิธีการทั่วไปก็คือการคลิกขวาและ Save Image As แต่ทว่าถ้าเราต้องการโหลดภาพเป็นจำนวนมาก ๆ เช่นเป็น 10,000 หรือ 100,000 รูปนั้นการคลิกด้วยมือคงไม่ตอบโจทย์ ฉะนั้นในกรณีที่เรามีลิงก์รูปภาพที่อยู่บนอินเตอร์เน็ตแล้วนั้น การเขียนโปรมแกรมไปดาวน์โหลดและบันทึกจึงเป็นวิธีที่ตอบโจทย์มากกว่า
Import Library ที่จำเป็นต้องใช้สำหรับโหลดภาพ
โดยในที่นี้เราจะหยิบลิงก์มาทั้งหมด 100 ลิงก์เป็นตัวอย่าง (จากทั้งหมด 100,000 ลิงก์)
วิธีการดาวน์โหลด หลัก ๆ คือใช้ request.get(URL รูปภาพ) จากนั้น ใช้ BytesIO อ่านข้อมูลจาก response และใช้ Image เปิดรูป และสั่งบันทึก
จะได้รูปภาพบันทึกลงในเครื่องตามรูปแบบและขนาดจริงของรูป
สามารถนำมาสร้างเป็นฟังก์ชันเพื่อโหลดหลายรูปได้ดังโค้ดในรูป โดยโหลด 100 รูปใช้เวลาเพียง 29 วิ เท่านั้น พร้อมทั้งปรับขนาดเป็น 224*224 px
วิธีการโหลดรูปภาพจากลิงก์หลาย ๆ ลิงก์ด้วย Python สามารถทำได้โดยใช้ Request, BytesIO, และ PIL.Image พร้อมปรับขนาดรูปและเซฟเก็บ
ในการเขียนโค้ด Python นั้นหลาย ๆ ครั้งในฟังก์ชันเรามักจะเคยเห็น *args **kwargs สองสิ่งนี้มีไว้ใช้เป็น argument เช่นกัน
ไพธอนนั้นมีสิ่งอำนวยความสะดวกมาให้ผู้เขียนโค้ดได้เลือกใช้เป็นจำนวนมาก ซึ่ง Python Functions ที่มาพร้อมกับภาษาเองก็มีประโยชน์มากเช่นกัน
การจะเริ่มต้น Python Project นั้นสิ่งที่ควรจะต้องทำคือการสร้าง Virtual Environment และเรียกใช้งานบน IDE หรือ Editor ของคุณ