gpt4 book ai didi

python - 在 python 中解析 METAR 网页

转载 作者:行者123 更新时间:2023-11-28 17:52:23 25 4
gpt4 key购买 nike

我需要在 python 脚本中使用 METAR 天气信息。我找到了 http://pypi.python.org/pypi/metar/1.4.0这似乎可以满足我当前 METAR 的需求。但是,我还需要使用存档的天气信息。

我找到了 Navlost.eu,它似乎能很好地满足我的需要。例如, http://www.navlost.eu/aero/metar/?icao=KBOS&dt0=2010-07-14+02%3A00%3A00&c=1&rt=metar

python METAR 模块访问一个文本文件并对其进行解析。我如何以类似的方式解析此网页,以便在此示例中仅获取“KBOS 140154Z 15006KT 8SM -RA OVC034 23/22 A2994”文本?

最佳答案

查看原始 HTML上面链接返回的,可以看到嵌套在<code>之间的METAR数据标签:

<p><hr/><br/><code>KBOS 140154Z 15006KT 8SM -RA OVC034 23/22 A2994</code><br/><br/>

所以使用 Python 正则表达式来获取它:

import urllib2
import re

URL="http://www.navlost.eu/aero/metar/?icao=KBOS&dt0=2010-07-14+02%3A00%3A00&c=1&rt=metar"
f = urllib2.urlopen(URL)
data = f.read()

r = re.compile('<code>(.*)</code>', re.I | re.S | re.M)
print r.findall(data)[0]

正则表达式在 re.compile 上找到行,以及 (.*)表示您对括号内的所有字符感兴趣。函数 r.findall返回匹配表达式的所有字符串,[0]只给出第一个。

输出如下:

KBOS 140154Z 15006KT 8SM -RA OVC034 23/22 A2994

关于python - 在 python 中解析 METAR 网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7376152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com