使用Python3进行Web抓取和字符串格式化?

时间:2017-01-18 09:39:37

标签: python json google-chrome currency

这个脚本是为了解析Bloomberg财务,以便在白天找到GBP值,以下脚本会这样做但是当它返回时你得到这个:

{'dateTime':'2017-01-17T22:00:00Z','value':1.6406}

我不想要dateTime或值文本。我不知道怎么摆脱它。当我尝试它时给我这样的错误:列表索引超出范围。

任何答案都将不胜感激。这是脚本(在python3中):

import urllib.request
import json 

htmltext = urllib.request.urlopen('https://www.bloomberg.com/markets/api/bulk-       time-series/price/GBPAUD%3ACUR?timeFrame=1_DAY').read().decode('utf8')  

data = json.loads(htmltext)  

datapoints = data[1]['price'] 

print(datapoints)  

1 个答案:

答案 0 :(得分:0)

这应该适合你。

print (data[0]['price'][-1]['value'])

编辑:要获取所有值,

for data_row in data[0]['price']:
    print data_row['value']   

说明data[0]获取列表的第一个也是唯一一个元素,即dict。
['price']获取与价格键对应的列表。
[-1]获取列表的最后一个元素,这可能是您要查找的数据,因为它是最新的数据点。
最后,['value']从我们之前获得的字典中获取货币转换的价值。