4 Web Scraping Projects That Will Help Automate Your Life

03-Sep-21

คัมภีร์เทพ IT

See the original english version Click here!

 

จะดีแค่ไหนหากสิ่งที่คุณทำในแต่ละวัน เช่น อ่านข่าว, ส่ง Email ค้นหา Deal ของสินค้า หรือค้นหางาน ซึ่งสิ่งเหล่านี้ส่วนใหญ่สามารถทำให้คุณแบบอัตโนมัติด้วย Web Scraping ดังนั้นจึงช่วยประหยุดเวลาให้คุณได้เป็นอย่างมาก และบทความนี้ก็เป็น 4 Web Scraping Projects ที่ช่วยทำให้ชีวิตของคุณง่ายขึ้น

1. Automate Repetitive Tasks

เพื่อให้ Project นี้ง่ายกับมือใหม่ เราจะใช้ Beautiful Soup เนื่องจากเป็น Python Library ที่ง่ายที่สุดสำหรับ Web Scraping

เป้าหมายของ Project นี้คือการได้รับชื่อเรื่องและเนื้อหาจากบทความใน Website ต่าง ๆ จากนั้นสามารถ Export  Content ทั้งหมดใน .txt File ที่ควรตั้งชื่อเป็น “ชื่อบทความ” ตัวอย่างของ Project นี้สามารถพบได้ใน .gif ที่อยู่ด้านล่าง

Project นี้จะช่วยให้เราคุ้นเคยกับ Concept หลักของ Web Scraping ใน Python เช่น วิธีการดู HTML จาก Website, ค้นหา Elements ใน Website และ Export ข้อมูลเป็น .txt File

แน่นอนว่า คุณสามารถ Copy และ Paste Data ได้ด้วยตนเอง แล้วสร้าง .txt File ในเวลาไม่ถึงนาที อยากให้คุณ ลองนึกภาพว่า คุณทำแบบนี้กับ 10 บทความขึ้นไปดูสิ คุณจะต้องใช้เวลามากขนาดไหนในการทำด้วยตัวคุณเอง แต่ด้วย Python และ Beautiful Soup เราสามารถสร้าง Script ที่ดึง Data นั้น แล้วเพิ่ม For Loop เข้าไปเพื่อ Scrape หลาย ๆ Pages ได้ในไม่กี่นาที

งานอื่น ๆ ที่คุณมักจะทำซ้ำๆ ที่คุณสามารถทำให้เป็นแบบอัตโนมัติได้ด้วย Web Scraping ดังที่แสดงไว้ด้านล่าง โปรดทราบว่า คุณจะต้องมีความรู้พื้นฐานเกี่ยวกับ Selenium เพื่อทำให้เป็นแบบอัตโนมัติ (สามารถดู Guide นี้เพื่อเรียนรู้ Selenium ได้ตั้งแต่เริ่มต้น)

  • การส่ง Emails
  • Post ลงสื่อ Social
  • สั่งอาหาร

หมายเหตุ: คุณอาจต้องเรียนรู้หลาย ๆ Functions และ Methods ในเรื่อง Web Scraping ด้วย Python หากคุณต้องการทราบรายละเอียดทั้งหมด สามารถตรวจดูได้จาก Web Scraping Cheat Sheet นี้

2. Scrape Football Data: Automate Sports Analytics

หากคุณเป็นคนที่ชอบกีฬา หลังจากการแข่งขันจบ คุณอาจเข้าชม Website ที่แสดงสถิติให้ดูแบบฟรี ๆ เช่น Scores และ Player Performance ซึ่งคงจะดีไม่น้อยหากเราได้ข้อมูลเหล่านี้หลังจากการแข่งขันจบ หรือลองจินตนาการถึงความสามารถในการใช้ข้อมูลเหล่านั้นเพื่อสร้าง Report เพื่อค้นหาข้อมูล Insight ที่น่าสนใจเกี่ยวกับทีมหรือ League ที่คุณชื่นชอบ

เป้าหมายของ Project นี้ ก็เพื่อ Scrape Data จาก Website ที่มีสถิติของกีฬาที่คุณชื่นชอบ Data ประเภทนี้ส่วนใหญ่มักจะอยู่ในรูปแบบตาราง ดังนั้น โปรดแน่ใจว่าคุณ Export Data ใน CSV Format เพื่อที่จะอ่านพวกมันด้วย Pandas Library และค้นหาข้อมูล Insight ในภายหลัง หากคุณต้องการดู Concept เกี่ยวกับ Project นี้ ให้ดูจาก .gif ด้านล่าง ใน Demo นั้น เป็นการดึง Scores การแข่งขัน Football จาก Leagues ต่าง ๆ ในช่วง 3 ปีที่ผ่านมา

Sites ส่วนใหญ่ที่มี Data ของกีฬามักจะใช้ JavaScript เพื่อ Update Data อยู่ตลอดเวลา ซึ่งหมายความว่า เราจะไม่สามารถใช้ Beautiful Soup Library สำหรับ Project นี้ได้ แต่เราจะใช้ Selenium เพื่อคลิกที่ปุ่ม แล้วเลือก Elements ภายใน Dropdowns แล้วดึง Data ที่เราต้องการ

คุณสามารถค้นหา Code เพื่อทำ Project นี้ได้บน Github นี้ คุณสามารถทำให้ Project นี้มีความท้าทายมากขึ้นด้วยการค้นหาทีมที่มีแนวโน้มจะทำประตูได้มากกว่าในการแข่งขัน ด้วยสิ่งนี้ คุณสามารถสร้าง Report ที่บอกคุณถึงการแข่งขันที่มีแนวโน้มว่าจะชนะ สิ่งนี้จะช่วยให้คุณตัดสินใจได้ดีขึ้นเมื่อวิเคราะห์การแข่งขันฟุตบอล ใน Link นี้ คุณจะพบคำแนะนำเกี่ยวกับวิธีการทำใน Part สุดท้ายของ Project นี้

3. Scrape a Job Portal: Automate Job Hunting

การหางาน สามารถทำได้ง่ายขึ้นด้วย Web Scraping ในการค้นหางานนั้น การตรวจสอบคุณสมบัติของแต่ละงาน และเงินเดือน อาจใช้เวลาประมาณ 20 นาทีถ้าคุณค้นหาด้วยตนเอง แต่โชคดีที่ทั้งหมดนี้สามารถทำได้แบบอัตโนมัติด้วย Code ไม่กี่บรรทัด

ใน Project นี้ คุณควรสร้าง Bot ที่จะสามารถ Scrape Job Portal เพื่อที่จะได้รับข้อมูลเกี่ยวกับคุณสมบัติของงานที่ต้องการ รวมทั้งเงินเดือน คุณสามารถใช้ Beautiful Soup หรือ Selenium สำหรับ Project นี้ได้ แต่แนวทางจะแตกต่างกันไปตาม Library ที่คุณใช้

หากคุณใช้ Beautiful Soup ให้เน้นเฉพาะใน Page ที่มีข้อมูลที่คุณต้องการจะ Scrape คุณสามารถทำตาม Video Tutorial นี้เพื่อช่วยให้คุณสามารถเริ่มต้นกับ Project นี้ได้

ดังที่กล่าวไปแล้ว ขอแนะนำให้คุณใช้ Selenium เนื่องจากคุณจะทำสิ่งต่าง ๆ บน Website ได้อย่างอิสระมากขึ้น สิ่งที่ดีที่สุดคือ คุณสามารถ Run Code ได้หลังจากที่คุณเจองานที่ต้องการ และดูขั้นตอนตามที่ Bot ทำได้ใน Browser ในการทำสิ่งนี้ด้วย Selenium ให้นึกถึงขั้นตอนทั้งหมดที่คุณมักจะทำเพื่อที่จะได้รับข้อมูลจาก Job Portal ที่คุณชื่นชอบ ตัวอย่างเช่น ไปที่ Website, เขียนชื่อตำแหน่งงาน, คลิกที่ปุ่ม Search และไปยังแต่ละตำแหน่งงาน เพื่อดึง Data ที่เกี่ยวข้อง หลังจากนี้ ก็ให้ทำซ้ำตาม Steps เหล่านั้นใน Python โดยใช้ Selenium Library

4. Scrape Product Prices: Get The Best Price

การ Shopping อาจต้องใช้เวลานาน หากคุณพยายามค้นหา Deal ที่ดีที่สุดของสินค้าที่คุณต้องการ การดู Website เพื่อหาราคาที่ดีที่สุดของ รถยนต์, ทีวี และเสื้อผ้า อาจใช้เวลาหลายชั่วโมง แต่โชคดีที่อาจใช้เวลาเพียงไม่กี่นาทีกับ Web Scraping Project สุดท้ายของบทความนี้

นี่เป็น Project ที่ Advance ที่สุดในบทความนี้ และจะขอแบ่งออกเป็น 2 Sections โดย Section แรก ไปที่ ร้านค้า Online ที่คุณชื่นชอบและรวบรวมข้อมูลของสินค้า เช่น ชื่อ, ราคา, ส่วนลด และ Links เพื่อให้คุณสามารถ Track ได้ในภายหลัง ขอแนะนำให้คุณใช้ Scrapy Library สำหรับ Project นี้ ในกรณีที่คุณวางแผนที่จะ Scrape Pages เป็นจำนวนมากเพราะมันเป็น Web Scraping Library ที่เร็วที่สุดใน Python คุณสามารถทำตาม Tutorial นี้เพื่อช่วยให้คุณสามารถเริ่มต้น Project นี้ได้

สำหรับ Section ที่ 2 ของ Project คุณต้อง Track ราคาที่ดึงออกมา ดังนั้น เมื่อใดที่ราคาของสินค้าใดสินค้าหนึ่งมีการลดลงอย่างมาก คุณก็จะได้รับ Notification

นอกจากนี้ คุณสามารถ Adapt แนวคิดของ Project นี้ ไปใช้กับ Fields อื่น ๆ ที่คุณสนใจได้เช่นกัน

  • Scrape ราคาหุ้น
  • Scrape ราคา Cryptocurrency

ที่มาhttps://medium.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด