เก็บข้อมูลจากหน้าเวปในพริบตาด้วย Python กับ BeautifulSoup
ถ้าใครได้เคยทำงานเก็บข้อมูลจากหน้าเวปเองก็คงจะเคยเสียเวลาไปกับการเปิดหน้าเวป หาข้อมูลที่ต้องการ คัดลอกข้อมูล เปลี่ยนหน้า เปรียบเทียบข้อมูลกับเวปอื่น และอีกหลายขั้นตอนที่ใช้เวลามากๆ
แต่กระนั้นความยุ่งยากส่วนใหญ่แล้วก็คุ้มค่าเพราะเวปไซต์เป็นแหล่งข้อมูลชั้นดีไม่ว่าเราจะทำงานอยู่ในสาขาใดก็ตาม หรือแม้แต่การหาข้อมูลที่ไม่เกี่ยวกับงานก็ตาม
ไม่ว่าจะหาข้อมูลสินค้าที่เป็นคู่แข่ง ข้อมูลทางการเงินที่นำมาวิเคราะห์ ราคาคอนโดที่เรากำลังต้องการหา ราคารถมาเปรียบเทียบตัวเลือก และอีกหลากหลายข้อมูลที่เราใช้เวลาอย่างมากในการคัดลอกมาเพื่อรวบรวมด้วยกระบวนการซ้ำๆ
และการเก็บข้อมูลจากหน้าเวป เป็นเช่นเดียวกับงานน่าเบื่อๆ งานที่กินเวลามากๆ หลายๆ อย่าง ที่สามารถใช้ Python ทำแทนได้แทบจะ 100%
วันนี้ Ultimate Python จะเล่าให้ทุกคนฟังเองว่าเราจะใช้ Python เก็บข้อมูลหน้าเวปอย่างไร
╔═══════════╗
ติดตาม Ultimate Python ที่จะทำให้คุณเข้าใจ Python ในฉบับที่ได้ประโยชน์สำหรับทุกคน
ติดตาม และตั้งเห็นก่อน เพจ Ultimate Python ในลิ้งค์ด้านล่าง
╚═══════════╝
ดูภาพประกอบเต็มๆ ด้านล่าง
การใช้ Python เข้ามาเก็บข้อมูลหน้าเวป ก็คือการเขียนชุดคำสั่งที่ให้คอมพิวเตอร์เข้ามาทำงานแทน ดังนั้นก่อนอื่นเราจะต้องเข้าใจก่อนว่าคอมพิวเตอร์เห็นเวปไซต์เป็นข้อมูลหน้าตาอย่างไร
ในขณะที่เราเห็นหน้าเวปมีหน้าตาสวยงาม มีรูป มีการจัดองค์ประกอบ คอมพิวเตอร์เห็นเวปไซต์ต่างๆ เป็นโค้ดที่ประกอบไปด้วยคำสั่งต่างๆ ที่ทำให้เกิดความสวยงามเหล่านั้น
การทำงานกับเวปไซต์ของคอมพิวเตอร์ต้องทำงานผ่านบราวเซอร์ที่จะเป็นตัวเชื่อมคอมพิวเตอร์กับอินเทอร์เน็ต และทำการแสดงผลหน้าเวปที่เราเห็นกัน
แต่ก่อนที่เราจะเข้าถึงเวปไซต์ได้นั้นเราจะต้องมี url หรือลิ้งค์เวป เพื่อส่งให้บราวเซอร์ และบราวเซอร์จะนำลิ้งค์นี้ไปค้นหาในอินเทอร์เน็ตโดยกระบวนการที่เรียกว่า request
เมื่อ request เสร็จบราวเซอร์จะได้รับโค้ดที่เป็นตัวตั้งต้นของเวปไซต์มา และบราวเซอร์จะประมวลผลโค้ด และได้หน้าเวปออกมา
โดยโค้ดที่บราวเซอร์เห็นจากเวปก็คือ ภาษา html และการที่เราจะเข้าไปทำงานกับเวปไซต์ ก็คือการเข้าไปทำงานกับโค้ดภาษา html นั่นเอง
ซึ่ง html จะเป็นโค้ดที่ประกอบไปด้วยส่วนย่อยที่จะถูกระบุด้วยสิ่งที่เรียกว่า syntax ซึ่งแต่ละ syntax จะมี attribute เป็นส่วนย่อยที่คอยปรับแต่งการแสดงผลข้อมูล
ซึ่งเมื่อพูดถึงการทำงานกับ html หลักๆ แล้วสิ่งที่จะทำในการเก็บข้อมูลก็คือการระบุตำแหน่งข้อมูลที่ต้องการด้วยการระบุ syntax และ attribute ที่เก็บข้อมูลเหล่านั้นอยู่นั่นเอง
โดยการทำงานกับ html วันนี้ เราจะพูดถึง Library ที่ชื่อว่า BeautifulSoup ซึ่งรวบรวมคำสั่งตั้งแต่การระบุตำแหน่ง ไปจนถึงการดึงข้อมูล
BeautifulSoup ไม่มีความเกี่ยวข้องกับอาหาร หรือซุปแต่อย่างไร แต่เป็นเครื่องมือของภาษา Python ที่เรียกว่า Library ที่ใช้งานเพื่อทำความเข้าใจเนื้อหาในหน้าเวป
โดยที่มาของคำว่า soup เป็นชื่อล้อเลียนที่ใช้เรียกโค้ดในภาษา html ที่เขียนผิด ดังนั้นการตั้งชื่อ BeautifulSoup เองก็เป็นการล้อเลียน และบอกว่าแม้โค้ดที่เขียนผิดเองก็อ่านได้
เมื่อเราได้ข้อมูลที่ต้องการแล้วก็สามารถรวมข้อมูลเหล่านี้เป็น DataFrame และบันทึกเป็นไฟล์ Excel ได้ทันที
โดยเวลาส่วนใหญ่ของการพัฒนาระบบดังกล่าวจะใช้ไปกับการหา syntax และ attribute ที่ระบุตำแหน่งข้อมูลที่ต้องการ
โดยเมื่อเราสามารถระบุได้แล้วเราสามาถใช้ For Loop, While Loop และ If Statement กำหนดเงื่อนไขต่างๆ เพื่อให้การดึงข้อมูลทำกับทุกข้อมูลที่เราอยากได้
สำหรับคนที่สนใจการลดงานเก็บข้อมูลหน้าเวป ติดตามการสร้างทีละขั้นตอน ได้ที่ Ultimate Python เลยนะครับ^^
***ร่วมสนุก*** แล้วคุณหละ มีงานเก็บข้อมูลจากหน้าเวปอะไรบ้าง คอมเม้นท์บอกเรา งานที่น่าสนใจ Ultimate Python จะสร้างระบบให้คุณนำไปใช้ฟรีๆ !!!!
留言