มาสุ่มกาชา เอ้ย ของขวัญด้วย Python x Selenium กันเถอะ

Thannara Rattanakaeoprasoet
THE EXISTING COMPANY
2 min readDec 24, 2019

--

เคยเป็นมั้ย ในบางครั้งก็คิดไม่ออกว่าจะซื้ออะไรไปจับฉลาก หรือ เป็นของขวัญดี เรามีวิธีมานำเสนอ นั่นคือ การสุ่มนั่นเอง

วันนี้เราจะพาทุกคนลองทำโปรแกรมสุ่มของขวัญกัน โดยของขวัญที่เรานำมาทั้งหมดได้จาก Central แต่ก่อนจะเริ่มต้นโค้ด

ลองเล่นสนุกๆกันก่อนได้จิ้มลิงค์ด้านล่างเลย 👇

ตัวอย่างเว็บสุ่มของขวัญ

เรามาดูสิ่งที่ต้องเตรียมกันก่อนดีกว่า

ไปเตรียมอุปกรณ์กันก่อน

วิธีติดตั้ง

  1. Python3
  2. Editor
  3. Chrome webdriver
  4. 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 มันจะทำให้ได้ข้อมูลที่ผิด

เนื่องจากเว็บของcentral มีpop up ขึ้นมา ทำให้เราต้อปิดมันลงก่อนที่จะเปลี่ยนหน้า

เท่านี้เราก็ได้ 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

--

--