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

อ่าน 1 นาที

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

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

โปรแกรมดึงข้อมูลเหมาะกับงานอะไร

โปรแกรมดึงข้อมูลมีประโยชน์ทุกครั้งที่ข้อมูลประเภทเดียวกันอยู่บนหน้าเว็บที่คล้ายกันจำนวนมาก:

  • ราคาและสต็อก ติดตามว่าราคาของซัพพลายเออร์เปลี่ยนไปอย่างไร หรือสินค้าไหนหมด
  • แคตตาล็อกของซัพพลายเออร์ ย้ายชื่อ คำอธิบาย รูปภาพ และราคาเข้าร้านค้าของคุณเอง
  • ประกาศ รวบรวมประกาศขายบ้าน รถ หรือประกาศงานจากบอร์ดสาธารณะไว้ในตารางเดียว
  • กิจกรรมและบทความ รวบรวมวันที่ หัวข้อ และลิงก์จากปฏิทินสาธารณะหรือหน้าข่าว

เก็บเฉพาะข้อมูลที่ได้รับอนุญาตให้เก็บ

ก่อนอื่น ให้เช็กว่าข้อมูลนั้นเก็บได้อย่างเป็นธรรม:

  • เฉพาะหน้าสาธารณะ ถ้าต้องเข้าสู่ระบบจึงจะเห็นข้อมูล โปรแกรมดึงข้อมูลไม่ใช่เครื่องมือที่เหมาะ
  • อ่านเงื่อนไขของเว็บไซต์ หลายเว็บไซต์ระบุว่าเก็บอะไรได้และไม่ได้ แพลตฟอร์มขนาดใหญ่ เสิร์ชเอนจิน และโซเชียลเน็ตเวิร์กมักห้าม ให้ใช้ฟังก์ชันส่งออกข้อมูลหรือ API อย่างเป็นทางการของพวกเขาแทน
  • เคารพขีดจำกัดความถี่ การเว้นช่วงไม่กี่วินาทีระหว่างหน้าช่วยให้ภาระของเว็บไซต์ต่ำ อย่าพยายามหลบเลี่ยงแคปต์ชาหรือการบล็อกเด็ดขาด
  • ปฏิบัติตามกฎหมายคุ้มครองข้อมูลส่วนบุคคล ชื่อ อีเมล และเบอร์โทรศัพท์ของบุคคลเป็นข้อมูลส่วนบุคคล และหลายประเทศจำกัดการเก็บข้อมูลเหล่านี้อย่างเข้มงวด ให้ตัดออกไป

ท้ายที่สุดแล้ว การตัดสินใจว่าคุณเก็บและใช้ข้อมูลของเว็บไซต์ได้หรือไม่เป็นของคุณ จึงควรตรวจสอบก่อนเริ่ม

อธิบายหน้าเว็บ

โปรแกรมดึงข้อมูลเขียนขึ้นตามโครงสร้างจริงของหน้าเว็บ จึงต้องระบุให้แม่นยำ:

  • ลิงก์ไปยังหน้ารายการ และลิงก์ไปยังหน้าสินค้าหนึ่งหน้า
  • จำนวนหน้าโดยประมาณ เช่น "หน้ารายการประมาณ 40 หน้า หน้าละ 24 สินค้า"
  • หน้าที่บันทึกจากเบราว์เซอร์หนึ่งหรือสองหน้า (เมนู File > Save page as หรือ "บันทึกหน้าเป็น") หรือภาพหน้าจอของหน้านั้น

ระบุฟิลด์เหมือนคอลัมน์ในตาราง

มองผลลัพธ์เป็นสเปรดชีต แล้วตั้งชื่อคอลัมน์ตามลำดับ พร้อมตัวอย่างของแต่ละคอลัมน์:

  • ชื่อ: "เขียงไม้โอ๊ก ขนาดใหญ่"
  • ราคา: "34.90"
  • ราคาเดิม: "39.90" ถ้าสินค้าลดราคา
  • มีสินค้า: "มี"
  • ลิงก์ ไปยังหน้าสินค้า และ ลิงก์รูปภาพ

ฟิลด์ที่ชัดเจนสิบฟิลด์ดีกว่าฟิลด์คลุมเครือสามสิบฟิลด์ เพิ่มกฎที่ต้องการ เช่น "เฉพาะสินค้าที่มีในสต็อก"

เลือกรูปแบบไฟล์และที่รันโปรแกรม

  • CSV เปิดได้ในสเปรดชีตทุกโปรแกรม และนำเข้าระบบร้านค้าออนไลน์ส่วนใหญ่ได้
  • Excel สะดวกกว่าถ้าคุณจะกรองและเรียงข้อมูลเอง
  • JSON เหมาะกับนักพัฒนาที่จะนำข้อมูลไปโหลดในระบบอื่น

โปรแกรมดึงข้อมูลรันบนคอมพิวเตอร์ของคุณเองด้วย Python ข้อมูลจึงส่งตรงถึงคุณ และคุณรันซ้ำได้ทุกเมื่อที่ต้องการตัวเลขใหม่

เมื่อเว็บไซต์เปลี่ยน

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

สรุป

กำหนดว่าต้องการหน้าสาธารณะและฟิลด์ไหน เช็กเงื่อนไขของเว็บไซต์ ใช้ความถี่ที่สุภาพ และไม่เก็บข้อมูลส่วนบุคคล หากไม่อยากเขียนโค้ดเอง ก็สั่งทำโปรแกรมดึงข้อมูลจากเว็บไซต์ได้เลย เพียงส่งเว็บไซต์ ฟิลด์ที่ต้องการ และหน้าที่บันทึกไว้หนึ่งหรือสองหน้า แล้วรับโค้ด Python ไฟล์ตั้งค่า และคู่มือการรันทีละขั้นตอนเพื่อบันทึกผลเป็น CSV, Excel หรือ JSON การชำระเงินจะถูกปล่อยหลังจากคุณยอมรับงานแล้วเท่านั้น