Nochmal ganz ganz vielen Dank für deine Unterstützung. Ich habe jetzt den ersten python Part meines Tool hinbekommen. Und das nur weil du mir soviel geholfen hast.
Ein ganz großes DANKESCHÖN!!!
Und hier der fertige Teil des Tools:
Code: Alles auswählen
import datetime
import pandas as pd
from selenium import webdriver
from openpyxl import Workbook
from datetime import date
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wb = Workbook()
ws = wb.active
tomorrow = datetime.datetime.now() + datetime.timedelta(days=1)
# Browser verbinden
driver = webdriver.Chrome('C:\webdrivers\chromedriver.exe')
driver.get("https://www.oddsportal.com/login/")
# User Login
username = driver.find_element_by_xpath('//*[@id="login-username1"]')
username.send_keys("Username")
password = driver.find_element_by_xpath('//*[@id="login-password1"]')
password.send_keys("Password")
login = driver.find_element_by_xpath('//*[@id="col-content"]/div[3]/div/form/div[3]/button/span/span')
login.click()
def iter_stripped_texts(elements, start_index=None, end_index=None):
return (element.text.strip() for element in elements[slice(start_index, end_index)])
driver.get("https://www.oddsportal.com/matches/tennis/" + tomorrow.strftime("%Y%m%d") + "/")
match_tbl = driver.find_element_by_id("table-matches")
rows = match_tbl.find_elements_by_tag_name("tr")
urls = []
# Tabelle analysieren und Daten ermitteln
for row in rows:
if "dark" not in row.get_attribute("class"):
cells = row.find_elements_by_tag_name("td")
a_tag = cells[1].find_elements_by_tag_name("a")[0]
if "javascript:void(0);" not in a_tag.get_attribute("href"):
urls.append(a_tag.get_attribute("href"))
elif "javascript:void(0);" in a_tag.get_attribute("href"):
a_tag = cells[1].find_elements_by_tag_name("a")[1]
urls.append(a_tag.get_attribute("href"))
for url in urls:
driver.get(url)
#print(driver.find_element_by_css_selector("#breadcrumb > a:nth-child(4)").get_attribute('href'))
df_sport = (WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "#breadcrumb > a:nth-child(3)"))).get_attribute('text'))
df_country = (WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "#breadcrumb > a:nth-child(4)"))).get_attribute('text'))
df_tournament = (WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "#breadcrumb > a:nth-child(5)"))).get_attribute('text'))
df_players = driver.find_element_by_tag_name("h1").text
for row in driver.find_elements_by_css_selector("#odds-data-table > div:nth-child(1) > table > tbody > tr"):
if not "wool" in row.get_attribute("class"):
cells = row.find_elements_by_tag_name("td")
df_bookie = cells[0].text.replace("\n", "").strip()
df_home_odd = cells[1].text.replace("\n", "").strip()
df_away_odd = cells[2].text.replace("\n", "").strip()
df_payout = cells[3].text.replace("\n", "").strip()
print(df_sport , df_country , df_tournament , df_players , df_bookie , df_home_odd , df_away_odd , df_payout)
ws.append([df_sport , df_country , df_tournament , df_players , df_bookie , df_home_odd , df_away_odd , df_payout])
wb.save("F:\Testdatei\Tennis-" + tomorrow.strftime("%Y%m%d") + ".xlsx")
driver.close()