我想从国家气象服务中收集天气数据并将其读入python脚本。他们提供了一个JSON返回,但他们还提供了另一个没有格式化JSON的返回,但有更多的变量(我想要的)。这组数据看起来像它被格式化为一个Python字典。它看起来像这样:来自url的python字典
stations={
KAPC:
{
'id':'KAPC',
'stnid':'92',
'name':'Napa, Napa County Airport',
'elev':'33',
'latitude':'38.20750',
'longitude':'-122.27944',
'distance':'',
'provider':'NWS/FAA',
'link':'http://www.wrh.noaa.gov/mesowest/getobext.php?sid=KAPC',
'Date':'24 Feb 8:54 am',
'Temp':'39',
'TempC':'4',
'Dewp':'29',
'Relh':'67',
'Wind':'[email protected]',
'Direction':'50&#176',
'Winds':'6',
'WindChill':'35',
'Windd':'50',
'SLP':'1027.1',
'Altimeter':'30.36',
'Weather':'',
'Visibility':'10.00',
'Wx':'',
'Clouds':'CLR',
[...]
所以,对我来说,它看起来像它拿到定义的变量等于包含电台及其变量字典词典站。我的问题是我如何访问这些数据。现在我试图:
import urllib
response = urrllib.urlopen(url)
r = response.read()
如果我尝试使用JSON模块,它显然失败,因为这不是json。如果我只是尝试阅读文件,它会返回一长串字符。有关如何提取这些数据的任何建议?如果可能,我只想获取字典,因为它存在于url返回中,即stations={...}
谢谢!
你能提供一个返回要分析,所以我们可以看到数据的示例URL的任何属性完整的输出? – FatalError 2015-02-24 16:56:05
您可以使用RegExp ....获取您想要的数据。但也可以使用JSON库帮助完成 – 2015-02-24 16:58:14
以下是一个示例url ... http://www.wrh.noaa.gov/mesowest/GmwXJList .php?extents = 35.755148,-124.279663,38.813761,-119.720337&zoom = 8&mapsize = 830px,700px&density = 1& – 2015-02-24 17:04:27