Python beautifulsoup Extrahieren von Text
Ich möchte das extrahierenFett gedruckt Text, der das aktuelle Wetter auf dieser Website anzeigthttp://app2.nea.gov.sg/anti-pollution-radiation-protection/air-pollution/psi/psi-readings-over-the-last-24-hours. Weiß jemand, wie man mit diesem Code unten extrahiert?
Außerdem musste ich zwei Werte extrahieren, die vor dem aktuellen Wetter psi liegen, um dies zu berechnen. Summe von drei Werten (letzte und vorherige zwei Werte)
Beispiel: aktueller Wert (Fett gedruckt) ist 5 Uhr morgens: 51, ich brauche auch 3 Uhr morgens und 4 Uhr morgens. Kennt und kann mir jemand dabei helfen? Danke im Voraus !
from pprint import pprint
import urllib2
from bs4 import BeautifulSoup as soup
url = "http://app2.nea.gov.sg/anti-pollution-radiation-protection/air-pollution/psi/psi-readings-over-the-last-24-hours"
web_soup = soup(urllib2.urlopen(url))
table = web_soup.find(name="div", attrs={'class': 'c1'}).find_all(name="div")[2].find_all('table')[0]
table_rows = []
for row in table.find_all('tr'):
table_rows.append([td.text.strip() for td in row.find_all('td')])
data = {}
for tr_index, tr in enumerate(table_rows):
if tr_index % 2 == 0:
for td_index, td in enumerate(tr):
data[td] = table_rows[tr_index + 1][td_index]
pprint(data)
druckt:
{'10AM': '49',
'10PM': '-',
'11AM': '52',
'11PM': '-',
'12AM': '76',
'12PM': '54',
'1AM': '70',
'1PM': '59',
'2AM': '64',
'2PM': '65',
'3AM': '59',
'3PM': '72',
'4AM': '54',
'4PM': '79',
'5AM': '51',
'5PM': '82',
'6AM': '48',
'6PM': '79',
'7AM': '47',
'7PM': '-',
'8AM': '47',
'8PM': '-',
'9AM': '47',
'9PM': '-',
'Time': '3-hr PSI'}