Ich habe die nba player data off ESPN zu kratzen versucht, und ich bin in ein Problem laufen, wo, wenn ich dies auszuführen:BeautifulSoup nicht zu erwarten, welche Ergebnisse
from bs4 import BeautifulSoup
import requests
r = requests.get("http://www.espn.com/nba/scoreboard/_/date/20161217")
soup = BeautifulSoup(r.content)
game_Id = soup.find_all("div", {"id": "events"})
print(game_Id)
, das eine Liste des HTML-Code zurückgeben sollte, um die entsprechende Spiele, die an diesem Tag gespielt wurden, aber es gibt mir ein leeres Array. Wer weiß warum?
Die ID 'events' wird nicht im HTML-Inhalt der Seite gerendert, wenn das DOM zum ersten Mal erstellt wird. Wenn Sie die Seitenquelle anzeigen, sehen Sie, dass die # # Ereignisse leer sind. Sie können jedoch genau hinsehen, ob die Daten über AJAX geladen werden oder zu den # -Ereignissen hinzugefügt werden, nachdem das DOM bereit ist. –
Das letzte Mal, als ich überprüft, Scraping ESPN war gegen ihre Nutzungsbedingungen –
BeautifulSoup wird hier nicht funktionieren, müssen Sie Selenium oder etwas verwenden – martianwars