Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.07 KB | None | 0 0
  1. ## Подключение библиотек веб-драйвера, времени, парсинга
  2. from selenium.common.exceptions import NoSuchElementException
  3. from selenium.webdriver.chrome.options import Options
  4. from selenium import webdriver
  5. import datetime
  6. import time
  7. from bs4 import BeautifulSoup
  8. import re
  9.  
  10.  
  11. ## Выставление опций для запуска веб-драйвера
  12. chrome_options = Options()
  13. # Опции которые запускают браузер в консольном режиме(без окон)
  14. # chrome_options.add_argument("--headless")
  15. # chrome_options.add_argument("--disable-gpu")
  16. service_log_path = "chromedriver.log"
  17. # service_args = ['--verbose']
  18.  
  19. ## Инициализация драйвера
  20. driver = webdriver.Chrome('chromedriver',
  21.                             chrome_options=chrome_options,
  22.                             service_log_path=service_log_path)
  23. ## Открытие страницы
  24. driver.get('https://olimp.bet/app/live')
  25.  
  26. ## Подождать до загрузки
  27. time.sleep(5)
  28.  
  29. label = 'olimp'
  30. result = []
  31.  
  32. ## Скопировать DOM страницы в нашу переменную page
  33. page = driver.page_source
  34. ## Закрыть драйвер
  35. driver.quit()
  36.  
  37. soup = BeautifulSoup(page, 'html.parser')
  38.  
  39. champs = soup.find("div", {"id" : 'events_hor'}).find("div", {"class" : 'events_list'}).findAll("div", {"class" : 'events_list-wrap'})
  40. if len(champs):
  41.     for champ in champs:
  42.         sport_name = champ.find("div", {"class" : 'events_list-sport_title'}).text
  43.         match = {}
  44.         events = champ.findAll("div", {"class" : 'match_short-wrap'})
  45.         if len(events):
  46.             for event in events:
  47.                 event_bets_dict = {}
  48.                 teams = event.find("div", {"class" : 'smatch_info'}).find("div", {"class" : 'event_name'}).find("a").text
  49.                 league_name = event.find("div", {"class" : 'smatch_info'}).find("div", {"class" : 'event_name'}).find("span").text
  50.                 bets_block = event.find("div", {"class" : 'short_paint'})
  51.                 if bets_block:
  52.                     h_rates_blocks = bets_block.findAll("div", {"class" : 'short_paint-stake'})
  53.                     if len(h_rates_blocks):
  54.                         for h_rates_block in h_rates_blocks:
  55.                             h_rate = h_rates_block.find("div", {"class" : 'short_paint-stake-name'}).text
  56.                             event_bet = h_rates_block.findAll("div")[1].text
  57.                             if event_bet != "—":
  58.                                 event_bets_dict[h_rate] = event_bet
  59.                         print(sport_name, teams, event_bets_dict)
  60.                 else:
  61.                     continue
  62. #                 if len(match_intervals):
  63. #                     for match_interval in match_intervals:
  64. #                         event_bets = match_interval.findAll("td", {"class" : 'ob'})
  65. #                         event_bets_dict = {}
  66. #                         for index, event_bet in enumerate(event_bets):
  67. #                             event_bets_dict[h_rates_list[index]] = event_bet.text.split('\u200e')
  68. #                         match["Вид спорта"] = sport_name
  69. #                         match["Лига"] = league_name
  70. #                         match["Команды"] = teams
  71. #                         match["Интервал"] = interval_name.split('\xa0')
  72. #                         match["КФ"] = event_bets_dict
  73. #                         print(match)
  74.  
  75.  
  76.                     # #Если надо что-то поменять в названии
  77.                     #         if event_bet != "—":
  78.                     #             if "Ф1" in h_rate:
  79.                     #                 print(re.findall(r"[-+]?\d*\.\d+|\d+", h_rate))
  80.                     #                 event_bets_dict["Фора 1 ("+ str(re.findall(r"[-+]?\d*\.\d+|\d+", h_rate)[1])+")"] = event_bet
  81.                     #             else:
  82.                     #                 event_bets_dict[h_rate] = event_bet
  83.                     #     print(sport_name, teams, event_bets_dict)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement