【发布时间】:2015-08-27 18:53:18
【问题描述】:
我正在尝试从“https://weather.gc.ca/city/pages/ab-52_metric_e.html”中获取天气预报。使用下面的代码,我可以获得包含数据的表,但我被卡住了。在白天,第二行包含今天的预报,第三行包含今晚的预报。在一天结束时,第二行成为今晚的预测,今天的预测被删除。我想要做的是解析表格以获取今天,今晚和每个连续日的预测,即使今天的预测丢失;像这样:
今天:太阳和云的混合。今天下午有 60% 的几率有阵雨,有雷暴的风险。烟雾弥漫。高 26。紫外线指数 6 或高。 今晚:多云。今晚变得清晰起来。早晨前多云。烟雾弥漫。低 13。 周五:以多云为主。烟雾弥漫。下午风速为 30 公里/小时,阵风为 50 度。高 24。
#using Beautiful Soup 3, Python 2.6
from BeautifulSoup import BeautifulSoup
import urllib
pageFile = urllib.urlopen("https://weather.gc.ca/city/pages/ab- 52_metric_e.html")
pageHtml = pageFile.read()
pageFile.close()
soup = BeautifulSoup("".join(pageHtml))
data = soup.find("div", {"id": "mainContent"})
forecast = data.find('table',{'class':"table mrgn-bttm-md mrgn-tp-md textforecast hidden-xs"})
【问题讨论】:
-
你可以试试weathergc;它以 JSON 对象的形式返回当前条件、预测和监视/警告。预测期是列表中的单独行,您可以对其进行迭代。
标签: python beautifulsoup python-2.6