首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >加拿大解析环境网站

加拿大解析环境网站
EN

Stack Overflow用户
提问于 2015-08-27 18:53:18
回答 1查看 341关注 0票数 0

我正试着从"e.html“中提取天气预报。有了下面的代码,我能够得到包含数据的表,但是我被困住了。白天,第二行是今天的预报,第三行是今晚的预报。最后,第二排成为今夜的预测,而今天的预测被取消。我想要做的是解析整个表,以获得对今天、今晚和每一个连续的一天的预测,即使今天的预测没有了;如下所示:

今天:太阳和云的混合体。今天下午有60 %的可能性会有雷暴的危险。大范围的烟雾。高26。紫外线指数6或更高。今晚:部分多云。今天晚上很清楚。早上前越来越多的云量。大范围的烟雾。星期五:主要多云。大范围的烟雾。西南风转为西南风,下午阵风至50公里/小时。高24度。

代码语言:javascript
运行
复制
#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"})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-28 09:09:48

您可以对表中的每一行进行迭代,并获取行的值。一个例子是:

代码语言:javascript
运行
复制
forecast = data.find('table',{'class':"table mrgn-bttm-md mrgn-tp-md     textforecast hidden-xs"}).find_all("tr")
for tr in forecast[1:]:
    print " ".join(tr.text.split())

使用这种方法,您将得到每一行的内容(不包括第一行,也就是一些标题)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32257321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档