สวัสดีครับวันนี้จะมาแชร์เรื่อง Web scraping
"แล้ว Web Scraping คืออะไร ?"
Web Scraping คือการดึงข้อมูลที่สนใจจากเว็บไซต์โดยตรง ยกตัวอย่างเช่น เราต้องการดึงข้อมูลจากเว็บไซต์ https://www.oceannetworks.ca/news/stories โดยข้อมูลที่เราสนใจคือ หัวข้อที่มีคำว่า Real-Time หรือ Expedition และ ลิงค์ URL ที่ไปหัวข้อนั้น ตามรูปครับรูปภาพที่1 เว็บไซต์ที่ต้องการ Scraping |
รูปภาพที่2 ข้อมูลที่ต้องการจากเว็บไซต์ |
" แล้ว Web scraping ทำงานอย่างไร ? "
ในการทำเว็บไซต์นั้นจะเขียนเว็บโดยใช้ภาษา HTML ดังนั้นสิ่งที่ web scraping ทำก็คือไปอ่านภาษา HTML ในหน้าเว็บดังกล่าวเพื่อดึงข้อมูลกลับมาดังรูป (หากใช้ Chrome สามารถดู sourde code โดยการคลิกขวาที่เว็บไซต์แล้วเลือก Inspect)รูปที่3 การเข้าไปดู HTML |
รูปภาพที่4 HTML ของเว็บไซต์ |
แต่ในการเลือกว่าจะดึงข้อมูลเฉพาะตรงหัวข้อเท่านั้น เราจำเป็นที่จะต้องรู้รูปแบบ HTML ของเว็บดังกล่าวว่า HTML เป็นอย่างไร
รูปภาพที่5 รูปแบบ HTML |
จากรูปภาพที่5 จะเห็นว่าหัวข้อที่เราสนใจนั้นจะอยู่ข้างล่างคำว่า <div class="views-field views-field-nothing">
หรืออาจจะกล่าวได้ว่าหัวข้อนั้นจะอยู่ภายใต้ Class ที่ชื่อว่า views-field และ views-field-nothing นั่นเองเราก็สามารถเขียนโปรแกรมให้ดูหัวข้อเฉพาะใน Class ที่ชื่อว่า views-field และ views-field-nothing แล้วดึงข้อความมาได้ครับ
หากอยากรู้ว่า "แล้วจะเขียนโปรแกรมให้สามารถดึงข้อมูลดังที่กล่าวมาอย่างไร" สามารถดูวิธีการเขียนได้ที่
https://dev.to/rachelsoderberg/create-a-simple-web-scraper-in-c-1l1m?fbclid=IwAR3kEtA4JDukJ6S-47T3RkELXAcnZBM4x0dfJ3DfXOvad9BAwDRRkVNFwaE
และดู Source Code ได้ที่ https://github.com/CakeNuthep/Web-Scraper-C- ครับ
สุดท้ายนี้หวังว่าบทความนี้จะเป็นประโยชน์ต่อผู้ที่มาอ่านนะครับ
ขอบคุณที่อ่านครับ