Dank dir für den Literatur Hinweis.einfachTobi hat geschrieben: ↑Dienstag 14. September 2021, 09:25 Ja, kann man mit dem eingebauten csv Modul.
So ich habe jetzt mal versucht das neu gelernte auf eine weitere Tabelle anzuwenden:
Dazu habe ich den Code im oberen Bereich wie folgt geändert:
Code: Alles auswählen
from selenium import webdriver
CHROME_DRIVER = R"C:\webdrivers\Chromedriver.exe"
def iter_stripped_texts(elements, start_index=None, end_index=None):
return (element.text.strip() for element in elements[slice(start_index, end_index)])
def main():
driver = webdriver.Chrome(CHROME_DRIVER)
driver.get("https://www.oddsportal.com/tennis/usa/cary-2-challenger-men/krueger-mitchell-kubler-jason-8MNxIA25/")
country = tournament = None
überschrift = ['Buchmacher' , 'Heim_Quote' , 'Away_Quote' , 'Payout']
print(";".join(überschrift))
for row in driver.find_elements_by_css_selector("#odds-data-table > div:nth-child(1) > table > tbody"):
Ich tappe aber bei dieser Zeile komplett im dunkeln was hier gemacht wird:
Code: Alles auswählen
def iter_stripped_texts(elements, start_index=None, end_index=None):
return (element.text.strip() for element in elements[slice(start_index, end_index)])
Da ich der Tabelle jetzt kein Problem mit Zeilen habe die nicht die gewünschten Daten enthalten brauche ich auch den Zellinhalt nicht zu prüfen. Also war meine Idee die Daten für die Liste direkt in die Variablen einzuspielen.
Code: Alles auswählen
cells = row.find_elements_by_tag_name("tr")
bookie = iter_stripped_text(row.find_elements_by_tag_name("a"))
Was habe ich falsch gemacht, bzw. wo habe ich falsch gedacht?