このウェブサイトhttp://app2.nea.gov.sg/anti-pollution-radiation-protection/air-pollution/psi/psi-readings-overから最新の気象 psi を示す太字のテキストを抽出したいと思います。 -最後の 24 時間。以下のこのコードを使用して抽出する方法を知っている人はいますか?
また、計算を行うために、現在の天気 psi の前にある 2 つの値を抽出する必要がありました。3 つの値の合計 (最新と前の 2 つの値)
例: 現在の値 (太字) は午前 5 時 : 51 です。午前 3 時と午前 4 時も必要です。誰かがこれを知っていて、私を助けることができますか? 前もって感謝します !
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)
プリント:
{'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'}