KangarooOnIce

final

Jul 22nd, 2022 (edited)
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.09 KB | None | 0 0
  1. import requests
  2. import re
  3. import sys
  4. from bs4 import BeautifulSoup as bs
  5.  
  6. # Setup
  7. url = requests.get("https://www.itnwwe.com/mma/ufc-rankings/")
  8. soup = bs(url.text, 'html.parser')
  9.  
  10.  
  11. def rankings(element):
  12.     # CSS Selector As Element
  13.     elem = soup.select(element)
  14.     content = elem[0].text
  15.     content = content.replace("(", " ")
  16.     content = content.replace(")", " ")
  17.     # Find Pattern
  18.     pattern = re.compile(r"(?:Champion:|\d+\.)\s+\w+\s\w+\s+\d+-\d+-\d+")
  19.     matches = pattern.findall(content)
  20.     fighter_ranks = '\n'.join(matches)
  21.  
  22.     return fighter_ranks
  23.  
  24.  
  25. # Assign Weight Classes, (m)en & (w)omen
  26. weight_class_rankings = {
  27.     "m_p4p": rankings(".kadence-column_b8bbf4-03 > div:nth-child(1)"),
  28.     "m_heavyweight": rankings(".kt-svg-icon-list-items_68bb27-ed > ul:nth-child(1)"),
  29.     "m_light_heavyweight": rankings(".kt-svg-icon-list-items_659b4f-00 > ul:nth-child(1)"),
  30.     "m_middleweight": rankings(".kt-svg-icon-list-items_2743c7-33 > ul:nth-child(1)"),
  31.     "m_welterweight": rankings(".kt-svg-icon-list-items_82cd81-fc > ul:nth-child(1)"),
  32.     "m_lightweight": rankings(".kt-svg-icon-list-items_00ea45-f0 > ul:nth-child(1)"),
  33.     "m_featherweight": rankings(".kt-svg-icon-list-items_91412b-2d > ul:nth-child(1)"),
  34.     "m_bantamweight": rankings(".kt-svg-icon-list-items_195a09-5b > ul:nth-child(1)"),
  35.     "m_flyweight": rankings(".kt-svg-icon-list-items_62f802-5b > ul:nth-child(1)"),
  36.     "w_p4p": rankings(".kadence-column_82ab3b-c7 > div:nth-child(1) > div:nth-child(3)"),
  37.     "w_bantamweight": rankings(".kt-svg-icon-list-items_1c7b33-e3 > ul:nth-child(1)"),
  38.     "w_flyweight": rankings(".kt-svg-icon-list-items_1400c1-04 > ul:nth-child(1)"),
  39.     "w_strawweight": rankings(".kt-svg-icon-list-items_acf1a0-3a > ul:nth-child(1)")
  40.     }
  41.  
  42. try:
  43.     print(weight_class_rankings[sys.argv[1]])
  44. except KeyError:
  45.     print("Weight Class Does Not Exist! Please Try Again.")
  46. except IndexError:
  47.     v = input("Please Enter A Weight Class: ")
  48.     try:
  49.         print(weight_class_rankings[v])
  50.     except KeyError:
  51.         print("Weight Class Does Not Exist! Please Try Again.")
Add Comment
Please, Sign In to add comment