Versuchen herauszufinden, warum ich nicht bekomme, was ich beabsichtige. Hier ist mein Code unten:Nicht alle Tags für bestimmte Klassenelement mit BeautifulSoup erhalten
source = urllib.request.urlopen('http://www.espn.com/college-football/team/schedule/_/id/2132').read()
soup = bs.BeautifulSoup(source, "lxml")
date_list = []
for table in soup.find("div", {"class": "mod-content"}):
for game in table.find_all("tr", {"class": ["oddrow", "evenrow"]}):
for date in game.find('td'):
date_list.append(date)
for opponent in game.find_all("ul", {"class": "game-schedule"}):
print(opponent)
auf den Quellcode suchen, gibt es eigentlich zwei <ul class="game-schedule">
in der Suppe auf dem gleichen Niveau (Geschwister ??). Wenn ich den obigen Code ausführe, scheint es, dass ich nur den ersten Code eingeben und nur die Daten von diesem ersten Element abrufen werde. Ich muss auch das Senden eingeben, um dieses Element ebenfalls zu analysieren. Ich dachte, die find_all
findet jedes spezifizierte Element. Was müsste ich tun, um auch das 2. <ul class="game-schedule">
Element einzugeben ??
Ich möchte wie etwas tun:
for opponent in game.find_all(1ST GAME-SCHEDULE):
DO STUFF IN FIRST GAME-SCHEDULE
for result in game.find_all(2ND GAME-SCHEDULE):
DO STUFF IN SECOND GAME-SCHEDULE