top of page

🚀UPเกรด เท่าทัน Data,AI

ติดตามบทเรียนใหม่ทุกวัน ที่ทดลองทำได้ทันที

ให้การทำงานดีขึ้นได้ทุกวัน!

ชวนเพื่อนมาเรียนด้วยกันนะ!

ดูดด! ข้อมูลหุ้น SET50 ด้วยเทคนิค Web Scraping ผ่าน Selenium, BeautifulSoup

  • Writer: Ultimate Python
    Ultimate Python
  • May 8, 2022
  • 1 min read

Updated: May 9, 2022

สำหรับใน website SET50 ข้อมูลที่อยู่ในรูปแบบของตารางที่อยู่บน Dynamic Website สามารถใช้ Selenium เข้าไปทำงานกับหน้าเวปโหลด HTML ออกมา และดึงด้วยคำสั่งสำเร็จได้เลย! นอกจากนี้จะพาทุกคนมาดูเครื่องมืออื่นๆ ที่ใช้ดึงข้อมูลตารางผ่าน Google Spreadsheet และเปรียบเทียบข้อดีข้อเสียสำหรับเทคนิคต่างๆ แบบชัดๆ!


เรียนในบทเรียนวิดีโอผ่าน Youtube


ลิ้งค์ข้อมูลที่ใช้งาน

  1. เวปใช้สร้าง flow charthttps://app.diagrams.net/

  2. set50 page https://www.set.or.th/th/market/index/set50/overview


ปัญหาทั่วไปของเครื่องมือเบื้องต้นสำหรับการเก็บข้อมูลหน้าเวป


สำหรับการใช้ Google Spreadsheet และคำสั่ง .read_html() ของ Pandas จะมีการทำงานคล้ายกัน โดยสามารถทำงานได้ดีกับ static website ที่จะส่งข้อมูล HTML ที่เก็บข้อมูลทั้งหมดมาในทันทีที่มีการขอข้อมูลมาใช้งาน แต่หลายครั้งที่แหล่งข้อมูลของเราอยู่ในรูปแบบของ dynamic website ที่ต้องมีการส่ง


flow การทำงานของโปรแกรม


  1. เข้าไปยังเวปไซต์ที่เก็บหุ้นทุกตัวเอาไว้

  2. นำชื่อหุ้นมาสร้างเป็นลิ้งค์สำหรับการเก็บข้อมูลของหุ้นแต่ละตัว

  3. ไปยังหน้าเวปที่เก็บข้อมูลของหุ้นแต่ละตัว

  4. ดึงตารางข้อมูลออกมา

  5. ปรับแต่งข้อมูล

  6. เก็บออกมาใส่ Dictionary


flow chart การเก็บข้อมูลจากเวป SET50


Checkpoint: จะใช้ได้จริง จะต้องทำสิ่งเหล่านี้ได้!

สำหรับการสร้างโปรเจคในวันนี้ สามารถทำตามขั้นตอนตามด้านทางทีละขั้นตอน ตาม checkpoint ด้านล่างได้เลย!


Checkpoint 1 ทดลองดึงตารางด้วย .read_html()









เมื่อเปิดแล้ว กดให้แสดงผลข้อมูล ให้ครบ (100 รายการ)






























ข้อมูลหุ้นอะไรที่อยากเก็บ และเอาข้อมูลหุ้นไปทำอะไรได้บ้าง? บอกเราผ่าน Discord เวปไซต์ที่น่าสนใจจะถูกหยิบมาสร้างเป็นบทเรียนถัดไป!


 
 
 

Comments


Ultimate Python Logo.png

UPเกรดเท่าทัน Data, AI

ติดตามเราได้ที่

  • Ultimate Python's Facebook
  • Ultimate Python's Youtube
  • Ultimate Python's Tiktok
bottom of page