Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## Подключение библиотек веб-драйвера, времени, парсинга
- from selenium.common.exceptions import NoSuchElementException
- from selenium.webdriver.chrome.options import Options
- from selenium import webdriver
- import datetime
- import time
- from bs4 import BeautifulSoup
- ## Выставление опций для запуска веб-драйвера
- chrome_options = Options()
- # Опции которые запускают браузер в консольном режиме(без окон)
- # chrome_options.add_argument("--headless")
- # chrome_options.add_argument("--disable-gpu")
- service_log_path = "chromedriver.log"
- # service_args = ['--verbose']
- ## Инициализация драйвера
- driver = webdriver.Chrome('chromedriver',
- chrome_options=chrome_options,
- service_log_path=service_log_path)
- ## Открытие страницы
- driver.get('https://1xstavka.ru/live/')
- ## Подождать до загрузки
- time.sleep(5)
- label = '1xstavka'
- result = []
- ## Скопировать DOM страницы в нашу переменную page
- page = driver.page_source
- ## Закрыть драйвер
- driver.quit()
- soup = BeautifulSoup(page, 'html.parser')
- champs = soup.find("div", {"id" : 'games_content'}).find("div").find("div").find("div").findAll("div", recursive=False) #нашли все блоки с чемпионатами
- if len(champs):
- for champ in champs:
- #Ищем виды спорта
- sport_name = champ.find("div", {"class" : 'c-events__name'}).find("a").get("title").split('.')[0] #нашли все виды спорта
- league_name = champ.find("div", {"class" : 'c-events__name'}).find("a").text #Нашли все лиги
- h_rates_list = []
- h_rates = champ.find("div", {"class" : 'c-bets'}).findAll("div", {"class" : 'c-bets__bet'})
- if len(h_rates): #Создали список заголовков ставок
- for h_rate in h_rates:
- h_rates_list.append(h_rate.text) #Заполнили список отдельными названиями
- match = {} #Создали словарь под всё событие
- events = champ.findAll("div", {"class" : 'c-events__item_col'}) #Нашли все события в чемпионате
- if len(events):
- for event in events:
- teams = event.find("div", {"class" : 'c-events__item'}).find("a", {"class" : 'c-events__name'}).find("span", {"class" : 'c-events__teams'}).get("title") #Нашли названия команд в событии
- event_bets = event.find("div", {"class" : 'c-bets'}).findAll("a")
- event_bets_dict = {}
- for index, event_bet in enumerate(event_bets):
- event_bets_dict[h_rates_list[index]] = event_bet.text
- match["КФ"] = event_bets_dict
- match["Вид спорта"] = sport_name
- match["Лига"] = league_name
- match["Команды"] = teams
- print(match)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement