Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from bs4 import BeautifulSoup
- from selenium import webdriver
- from selenium.webdriver.common.by import By
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.support import expected_conditions as EC
- from selenium.webdriver.common.keys import Keys
- from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
- from socket import *
- import os
- import asyncio # test oop
- import time
- driver = webdriver.Firefox()
- driver.get('https://hawkbets.com/matches/recent') #
- step = 0
- z = 0
- en = 0
- time_list = []
- try:
- elements = driver.find_elements_by_css_selector('a.wrap ')
- for elem in elements:
- pass
- # elem.send_keys(Keys.CONTROL + Keys.RETURN)
- while step < 5:
- elements[step].send_keys(Keys.CONTROL + Keys.RETURN)
- step += 1
- elements[0].click()
- except Exception:
- print('err1')
- except IndexError:
- print('there are no matches at the moment')
- os.abort()
- def track(container):
- global z
- (driver.window_handles)
- soup = BeautifulSoup(container, 'html.parser')
- page = soup.select('main')
- check_blocks = WebDriverWait(driver, 10).until(
- EC.presence_of_element_located((By.CSS_SELECTOR, "div.gold_advantage_wrap"))) # Ожидает появления селекторов
- for elements_page in page: # **Вывод времени и золота
- divs = soup.find_all('div', {'class': 'name'})
- adventages = soup.find_all('div', {'class': 'gold_advantage'})
- gold = elements_page.select_one('b') # Ищет элемент преемущества и выводит
- gold = gold.text.strip()
- timer = elements_page.select_one("div.championship_time") # то же самое,но уже с временем
- timer = timer.text.strip()
- time_k = list(timer)
- time_list = []
- for i in time_k:
- if i.isdigit():
- if len(time_list) < 5:
- time_list.append(i)
- elif len(time_list) == 5:
- time_list = []
- if len(time_list) == 3:
- time_list.insert(1, ':')
- elif len(time_list) == 4:
- time_list.insert(2, ':')
- timer = ''.join(time_list)
- if int(gold) >= 2000: # Проверяет золото
- print(divs[0].text.strip(), 'vs', divs[1].text.strip()) #
- if elements_page.select_one('b').text.strip() in adventages[0].text.strip():
- print(divs[0].text.strip(), 'gold:', gold, )
- print('--------------------------------------------------------------------')
- # while z <en:
- # time.sleep(2)
- # driver.switch_to_window(driver.window_handles[z])
- # z=+1
- # print(z)
- # if z == 4:
- # z =0
- else:
- print(divs[1].text.strip(), 'gold:', gold, )
- print('--------------------------------------------------------------------')
- # while z < en:
- # time.sleep(2)
- # driver.switch_to_window(driver.window_handles[z])
- # z=+1
- # print(z)
- # if z == 4:
- # z =0
- temp_hash = 0
- x = 0
- while True: # * Запускает парсер
- # try
- for handle in driver.window_handles:
- # driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.TAB)
- driver.switch_to.window(handle)
- check_blocks = WebDriverWait(driver, 10).until(
- EC.presence_of_element_located((By.CSS_SELECTOR, "div.gold_advantage_wrap")))
- container = driver.find_element_by_css_selector('div.page_layout.match_page').get_attribute('innerHTML')
- print(temp_hash)
- if temp_hash != hash(container):
- track(container)
- temp_hash = hash(container)
- time.sleep(3)
- # except Exception:
- # time.sleep(7)
- # print('err')
- # continue
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement