2017-05-17 6 views
-1

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    

Antwort

0

Nun, ich bin ein Idiot. Ich hatte die falsche URL in der Quellvariablen. Ich schaute also auf eine Seite im Browser, versuchte aber eine andere in BS zu verschrotten. Duh!

Verwandte Themen