Ich habe versucht, Informationen von einer Webseite zu analysieren. Im Grunde möchte ich einige Informationen aus der Tabelle innerhalb des HTML-Codes ziehen, damit ich sie in Trend setzen kann. Der Teil, an dem ich festhalte, ist das Parsen des HTML in der Tabelle.Analysieren einer Tabelle in HTML mit Python
Die Webseite ist http://weather.unbc.ca/wx/data-table.html
Ich habe versucht zu verwenden:
import urllib2
from bs4 import BeautifulSoup
contenturl = "http://weather.unbc.ca/wx/data-table.html"
soup = BeautifulSoup(urllib2.urlopen(contenturl).read())
table = soup.find('tr', attrs={'class': 'content'})
rows = table.findAll('tr')
for tr in rows:
cols = tr.findAll('td')
if 'cell_c' in cols[0]['class']:
# currency row
Date_time, Record, Tair, Tdew, RH, pstn, pmsl, wspd_avg, wspd_vec, wdir, wstd, wgust, precip, solarq, solarq_un, kdown, kdown_dif, Sun, Ldown = [c.text for c in cols]
print Date_time, Record, Tair, Tdew, RH, pstn, pmsl, wspd_avg, wspd_vec, wdir, wstd, wgust, precip, solarq, solarq_un, kdown, kdown_dif, Sun, Ldown
Ich scheine den Fehler zu erhalten: Traceback (jüngste Aufforderung zuletzt). Datei“\ data. py“, Zeile 14, in rows = table.findAll ('tr') Attribute: 'NoneType' Objekt hat kein Attribut
Pardon meine Unwissenheit auf schöne Suppe 'findAll'. Ich bin völlig offen für andere Ansätze. Mein Ziel ist es, die letzte Zeile in der Tabelle in Variablen zu setzen, damit ich Trend machen kann.
Ich denke, ich brauche mehr Hilfe mit beautifulsoup. Ich kann die "Suppe" drucken und es zeigt eine Menge tr. Ich werde versuchen, mehr darüber zu recherchieren, wie ich das besser machen und in einen Tisch legen kann - da muss ich etwas falsch machen. – huntthedead
Versuchen Sie, den HTML-Code der Seite zu überprüfen, von der Sie Daten abrufen möchten. vielleicht hast du da etwas verpasst. –