使用 Python3 和字符串格式进行网络抓取?
Web scraping with Python3, and string formatting ?
此脚本旨在解析彭博财经以查找白天的英镑价值,下面的脚本会执行此操作,但是当它 returns 时,您会得到:
{'dateTime': '2017-01-17T22:00:00Z', 'value': 1.6406}
我不想要日期时间或那里的值文本。我不知道如何摆脱它。当我尝试时,它给我这样的错误:列表索引超出范围。
任何答案将不胜感激。这是脚本(在 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)
这应该适合你。
print (data[0]['price'][-1]['value'])
编辑: 要获取所有值,
for data_row in data[0]['price']:
print data_row['value']
EXPLANATION: data[0]
获取列表的第一个也是唯一一个元素,它是一个字典。
['price']
获取价格键对应的列表。
[-1]
获取列表的最后一个元素,这可能是您要查找的数据,因为它是最新的数据点。
最后,['value']
从我们之前获取的dict中获取货币换算的值。
此脚本旨在解析彭博财经以查找白天的英镑价值,下面的脚本会执行此操作,但是当它 returns 时,您会得到:
{'dateTime': '2017-01-17T22:00:00Z', 'value': 1.6406}
我不想要日期时间或那里的值文本。我不知道如何摆脱它。当我尝试时,它给我这样的错误:列表索引超出范围。
任何答案将不胜感激。这是脚本(在 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)
这应该适合你。
print (data[0]['price'][-1]['value'])
编辑: 要获取所有值,
for data_row in data[0]['price']:
print data_row['value']
EXPLANATION: data[0]
获取列表的第一个也是唯一一个元素,它是一个字典。
['price']
获取价格键对应的列表。
[-1]
获取列表的最后一个元素,这可能是您要查找的数据,因为它是最新的数据点。
最后,['value']
从我们之前获取的dict中获取货币换算的值。