มาสุ่มกาชา เอ้ย ของขวัญด้วย Python x Selenium กันเถอะ
เคยเป็นมั้ย ในบางครั้งก็คิดไม่ออกว่าจะซื้ออะไรไปจับฉลาก หรือ เป็นของขวัญดี เรามีวิธีมานำเสนอ นั่นคือ การสุ่มนั่นเอง
วันนี้เราจะพาทุกคนลองทำโปรแกรมสุ่มของขวัญกัน โดยของขวัญที่เรานำมาทั้งหมดได้จาก Central แต่ก่อนจะเริ่มต้นโค้ด
ลองเล่นสนุกๆกันก่อนได้จิ้มลิงค์ด้านล่างเลย 👇
เรามาดูสิ่งที่ต้องเตรียมกันก่อนดีกว่า
ไปเตรียมอุปกรณ์กันก่อน
- Python3
- Editor
- Chrome webdriver
- Selenium
pip install -U selenium
เมื่อพร้อมแล้ว ไปดูโค้ดกันเลยย
ในไฟล์ get_url.py จะเป็น การ เอา URL ของแบรนด์ที่มีทั้งหมดใน CENTRAL
ต่อกันที่ไฟล์ get_products.py ที่ เราจะเข้าไปเก็บ ชื่อ ราคา ภาพ และ ลิ้งก์ของสินค้า
- url เป็น list เก็บ URL ของ Central ทั้งหมด
- products ใช้เป็นตัวแปรที่กระทำต่างๆในไฟล์ products.csv ที่เราจะเก็บ ข้อมูลของสินค้า
⚫ Loop for k in range(len(url)): หรือ loop นอกสุด ➼ เราเอา loop นี้ไว้วนเปลี่ยนurl
⚫ Loop for j in range(last_page): ➼ เราเอา loop นี้ไว้วนกดเพื่อไปหน้าถัดไป กรณีที่แบรนด์นั้นมีสินค้ามากกว่า 50 ชิ้น
⚫ Loop for i in range(items): ➼ เราเอา loop นี้ไว้เก็บข้อมูลของสินค้า
⚫ Loop for l in name_temp: หรือ loop ในสุด ➼ เราเอา loop นี้ไว้แปลงชื่อสินค้า เนื่องจากบางตัว มี , ซึ่งเราเก็บเป็นไฟล์ csv มันจะทำให้ได้ข้อมูลที่ผิด
เท่านี้เราก็ได้ data สำหรับมาใช้สุ่มแล้ว จากนั้นเราจะไปทำการเรียงสินค้าตามราคา จากต่ำไปสูง ในไฟล์ sort.py
ในไฟล์นี้เราจะได้ library pandas เข้ามาช่วย ดังนั้นเราจึงต้อง install ก่อน
pip install pandas
sort ในฟังก์ชั่น sort_values(‘คอลัมน์ที่ต้องการsort’)
แค่นี้เราก็จะได้ข้อมูลที่เรียงราคาจากสูงไปต่ำแล้ว จากนั้นก็ save เป็นไฟล์ sort.csv ด้วย ฟังก์ชั่น to_csv()
ไฟล์สุดท้าย random_product.py เอาไว้ สุ่มสินค้า ตามราคาที่กำหนด
⚫ ฟังก์ชัน get_index เอาไว้หา index ของสินค้า ที่มีราคาตามที่กำหนด
⚫ ฟังก์ชัน random ตามชื่อเลย เอาไว้สุ่ม index นั่นเอง
⚫ ฟังก์ชัน get_product คือเอาไว้เรียกสินค้าตาม index ที่สุ่มได้นั่นเอง
เพียงเท่านี้เราก็ได้โปรแกรมไว้สุ่มของขวัญแล้ว👏 ง่ายใช่มั้ยล่ะ ไปสุ่มกันเลย เราทำเว็บไว้ให้แล้ว ที่นี่ 👇
ข้อจำกัด
- ไม่สามารถเลือกจากแบรนด์ได้ (สามารถปรับแต่งเพิ่มเติมเองได้)
- เลือกได้แค่ช่วงราคาอย่างเดียว
- ของไม่ได้ถูกแยกประเภท ทำให้สุ่มของทุกอย่างที่มีใน central.co.th