โปรแกรมดึงข้อมูลจากเว็บไซต์: วิธีเก็บข้อมูลจากเว็บ

การคัดลอกราคาจากเว็บไซต์ของซัพพลายเออร์ลงสเปรดชีตด้วยมือพอไหวสำหรับสินค้ายี่สิบรายการ แต่ถ้าสองพันรายการ จะกินเวลาทั้งสัปดาห์และยังมีพิมพ์ผิดอยู่ดี โปรแกรมดึงข้อมูลจากเว็บไซต์ (web scraper หรือที่เรียกว่า parser) คือโปรแกรมเล็ก ๆ ที่เปิดหน้าเว็บให้คุณ ดึงข้อมูลชุดเดียวกันจากแต่ละหน้า และบันทึกเป็นตาราง ต่อไปนี้คือสิ่งที่มันทำได้ สิ่งที่ต้องเตรียม และกฎที่ต้องทำตาม

โปรแกรมดึงข้อมูลเหมาะกับงานอะไร
โปรแกรมดึงข้อมูลมีประโยชน์ทุกครั้งที่ข้อมูลประเภทเดียวกันอยู่บนหน้าเว็บที่คล้ายกันจำนวนมาก:
- ราคาและสต็อก ติดตามว่าราคาของซัพพลายเออร์เปลี่ยนไปอย่างไร หรือสินค้าไหนหมด
- แคตตาล็อกของซัพพลายเออร์ ย้ายชื่อ คำอธิบาย รูปภาพ และราคาเข้าร้านค้าของคุณเอง
- ประกาศ รวบรวมประกาศขายบ้าน รถ หรือประกาศงานจากบอร์ดสาธารณะไว้ในตารางเดียว
- กิจกรรมและบทความ รวบรวมวันที่ หัวข้อ และลิงก์จากปฏิทินสาธารณะหรือหน้าข่าว
เก็บเฉพาะข้อมูลที่ได้รับอนุญาตให้เก็บ
ก่อนอื่น ให้เช็กว่าข้อมูลนั้นเก็บได้อย่างเป็นธรรม:
- เฉพาะหน้าสาธารณะ ถ้าต้องเข้าสู่ระบบจึงจะเห็นข้อมูล โปรแกรมดึงข้อมูลไม่ใช่เครื่องมือที่เหมาะ
- อ่านเงื่อนไขของเว็บไซต์ หลายเว็บไซต์ระบุว่าเก็บอะไรได้และไม่ได้ แพลตฟอร์มขนาดใหญ่ เสิร์ชเอนจิน และโซเชียลเน็ตเวิร์กมักห้าม ให้ใช้ฟังก์ชันส่งออกข้อมูลหรือ API อย่างเป็นทางการของพวกเขาแทน
- เคารพขีดจำกัดความถี่ การเว้นช่วงไม่กี่วินาทีระหว่างหน้าช่วยให้ภาระของเว็บไซต์ต่ำ อย่าพยายามหลบเลี่ยงแคปต์ชาหรือการบล็อกเด็ดขาด
- ปฏิบัติตามกฎหมายคุ้มครองข้อมูลส่วนบุคคล ชื่อ อีเมล และเบอร์โทรศัพท์ของบุคคลเป็นข้อมูลส่วนบุคคล และหลายประเทศจำกัดการเก็บข้อมูลเหล่านี้อย่างเข้มงวด ให้ตัดออกไป
ท้ายที่สุดแล้ว การตัดสินใจว่าคุณเก็บและใช้ข้อมูลของเว็บไซต์ได้หรือไม่เป็นของคุณ จึงควรตรวจสอบก่อนเริ่ม
อธิบายหน้าเว็บ
โปรแกรมดึงข้อมูลเขียนขึ้นตามโครงสร้างจริงของหน้าเว็บ จึงต้องระบุให้แม่นยำ:
- ลิงก์ไปยังหน้ารายการ และลิงก์ไปยังหน้าสินค้าหนึ่งหน้า
- จำนวนหน้าโดยประมาณ เช่น "หน้ารายการประมาณ 40 หน้า หน้าละ 24 สินค้า"
- หน้าที่บันทึกจากเบราว์เซอร์หนึ่งหรือสองหน้า (เมนู File > Save page as หรือ "บันทึกหน้าเป็น") หรือภาพหน้าจอของหน้านั้น
ระบุฟิลด์เหมือนคอลัมน์ในตาราง
มองผลลัพธ์เป็นสเปรดชีต แล้วตั้งชื่อคอลัมน์ตามลำดับ พร้อมตัวอย่างของแต่ละคอลัมน์:
- ชื่อ: "เขียงไม้โอ๊ก ขนาดใหญ่"
- ราคา: "34.90"
- ราคาเดิม: "39.90" ถ้าสินค้าลดราคา
- มีสินค้า: "มี"
- ลิงก์ ไปยังหน้าสินค้า และ ลิงก์รูปภาพ
ฟิลด์ที่ชัดเจนสิบฟิลด์ดีกว่าฟิลด์คลุมเครือสามสิบฟิลด์ เพิ่มกฎที่ต้องการ เช่น "เฉพาะสินค้าที่มีในสต็อก"
เลือกรูปแบบไฟล์และที่รันโปรแกรม
- CSV เปิดได้ในสเปรดชีตทุกโปรแกรม และนำเข้าระบบร้านค้าออนไลน์ส่วนใหญ่ได้
- Excel สะดวกกว่าถ้าคุณจะกรองและเรียงข้อมูลเอง
- JSON เหมาะกับนักพัฒนาที่จะนำข้อมูลไปโหลดในระบบอื่น
โปรแกรมดึงข้อมูลรันบนคอมพิวเตอร์ของคุณเองด้วย Python ข้อมูลจึงส่งตรงถึงคุณ และคุณรันซ้ำได้ทุกเมื่อที่ต้องการตัวเลขใหม่
เมื่อเว็บไซต์เปลี่ยน
โปรแกรมดึงข้อมูลทำงานตามหน้าตาของหน้าเว็บในวันนี้ ถ้าเว็บไซต์เปลี่ยนดีไซน์ โปรแกรมอาจหาฟิลด์ไม่เจอและต้องอัปเดต เว็บไซต์อาจจำกัดการเข้าชมแม้คุณจะเข้าด้วยความถี่ที่สุภาพแล้วก็ตาม ให้วางแผนรับมือหากคุณต้องพึ่งข้อมูลนี้ทุกสัปดาห์
สรุป
กำหนดว่าต้องการหน้าสาธารณะและฟิลด์ไหน เช็กเงื่อนไขของเว็บไซต์ ใช้ความถี่ที่สุภาพ และไม่เก็บข้อมูลส่วนบุคคล หากไม่อยากเขียนโค้ดเอง ก็สั่งทำโปรแกรมดึงข้อมูลจากเว็บไซต์ได้เลย เพียงส่งเว็บไซต์ ฟิลด์ที่ต้องการ และหน้าที่บันทึกไว้หนึ่งหรือสองหน้า แล้วรับโค้ด Python ไฟล์ตั้งค่า และคู่มือการรันทีละขั้นตอนเพื่อบันทึกผลเป็น CSV, Excel หรือ JSON การชำระเงินจะถูกปล่อยหลังจากคุณยอมรับงานแล้วเท่านั้น