Verschrottung der Veröffentlichungstermine für Yahoo Finance-Aktiengewinne mit Selenium
Ich möchte alle Unternehmensinformationen unter "Symbol", "Name" und "Anrufzeit" auf der folgenden Seite löschen: https://finance.yahoo.com/calendar/earnings
Ich möchte auch, dass Selen zum nächsten verfügbaren Verdienstdatum geht und die gleichen Informationen wie oben abruft. Zum Beispiel ist heute der 18. November, also möchte ich die gleichen Informationen für den 19. November abrufen.
Ich habe verschiedene Möglichkeiten versucht, dies mit Selen zu tun, kann es aber nicht.
Vielen Dank für Ihre Hilfe!
Antworten
Für den Anfang nimmt die URL Datumsparameter:
https://finance.yahoo.com/calendar/earnings?day=2020-11-19
Sie müssen diese URL also als solche erstellen:
import datetime
tomorrow = (datetime.date.today() + datetime.timedelta(days=1)).isoformat() #get tomorrow in iso format as needed
url = "https://finance.yahoo.com/calendar/earnings?day="+tomorrow
print ("url: " + url)
Dann müssen Sie die Elemente abrufen, die Sie zum Abrufen von Daten benötigen. Beispielsweise:
driver.find_element_by_xpath("//*[@id='cal-res-table']//table")
Von dort aus können Sie hier mit Tabellen in Selen arbeiten: https://stackoverflow.com/a/32096039/1387701 und hier: https://www.techbeamers.com/handling-html-tables-selenium-webdriver/
Sie sollten jedoch find_elements verwenden, um die Zeilen zu finden, und dann die gewünschten td's von dort auswählen.