mein Ziel ist es, Live-Daten von einer Website zu schaben, wie es sich ändert. Hier ist ein Beispiel URL: http://www.liveticker.com/spiel/6HXLRTtd/#spiel-statistiken;0Scrappen von Live-Sport-Daten ohne driver.refresh()?
Ich benutze Python, Selen und Zeit für die Schleife. Während ich mit Firefox irgendwie das gewollt habe, was ich will, wollte ich PhantomJS benutzen (um nicht mehrere Browser-Fenster öffnen zu müssen), aber es hört auf nach 1 bis 4 Aktualisierungen zu scrapen.
Meine Vermutung, warum dies passiert: Wenn Sie die Seite manuell besuchen, um einen Treffer zu aktualisieren, erhalten Sie eine Bildschirmmeldung, die Ihnen sagt, dass eine Aktualisierung nicht notwendig ist. Aber das ist nur eine Vermutung, da Firefox immer noch in der Lage ist, die Daten zu kratzen.
Also frage ich mich, warum PhantomJS aufhört zu kratzen und was man dagegen tun kann. Gibt es eine Methode mit Python, um kontinuierlich Live-Daten zu scratzen (AJAX, denke ich), ohne die Seite aktualisieren oder neu laden zu müssen?
Hoffe, du kannst helfen, ich bin ziemlich neu in all dem und habe bisher keine relevanten Hinweise gefunden.
Hier ist meine Funktion nur für den Fall:
def get_games_stats(url):
driver.get(url)
t=2
starttime=time.time()
t=float(t)
while True:
time.sleep(t - ((time.time() - starttime) % t))
driver.refresh()
time.sleep(5)
tabelle = driver.find_element_by_id("tab-statistics-0-statistic")
text_tabelle = tabelle.text
x = text_tabelle.encode("utf-8")
x= [int(s) for s in re.findall(r'\b\d+\b', x)]
team_a = x[::2]
team_b = x[1::2]
print team_a, team_b
Danke für die schnelle Antwort! Dies warf mir einen Fehler: WebDriverException: Nachricht: Ungültige Befehlsmethode und verwiesen nach dem Funktionsaufruf auf Zeile 'driver.switch_to_alert(). Accept()' – user2822564
Überprüfen Sie die aktualisierte Antwort – Andersson
Funktioniert wie ein Charme! Danke noch einmal. – user2822564