2017-06-20 43 views
0

我下面Sentdex”的mathplotlib教程,我停留在这个视频:https://www.youtube.com/watch?v=IbUa1tTT-7k&t=625s如何从互联网获取数据以用于matplotlib?

所提供的代码看起来是这样的:

import matplotlib.pyplot as plt 
import numpy as np 
import urllib 
import matplotlib.dates as mdates 
def graph_data(stock): 
stock_price_url = http://chartapi.finance.yahoo.com/instrument/1.0/'+stock+'/chartdata;type=quote;range=10y/csv' 

source_code = urllib.request.urlopen(stock_price_url).read().decode() 

stock_data = [] 
split_source = source_code.split('\n') 

for line in split_source: 
    split_line = line.split(',') 
    if len(split_line) == 6: 
     if 'values' not in line: 
      stock_data.append(line) 

显然,#8从互联网上获取数据yahoo.api不再有效。我试图找到一些不同的来源,但如果我使用其他网址,无论如何我都会收到“无效字符”错误。
我也试过urllib3,不能/我不应该使用请求模块? 我不在乎是否是金融,体育或天气数据,但我会很高兴,如果我能继续这个教程,或者如果你能指出一个更好的选择。

回答

0

不要担心做与教官完全相同的事情。 使用替代品。如果没有股票为什么不从unicef或谁的一些数据?

import matplotlib.pyplot as plt 
import numpy as np 
import urllib, json 
import matplotlib.dates as mdates 

url = 'https://data.cityofchicago.org/resource/f7f2-ggz5.json?fuel_type_code=LPG' 
# from https://dev.socrata.com/consumers/getting-started.html 
a = urllib.request.urlopen(url).read().decode() 
print (a) 

你现在有一些数据可以玩了。你可以找到更多的从 https://www.forbes.com/sites/bernardmarr/2016/02/12/big-data-35-brilliant-and-free-data-sources-for-2016/#24627925b54d

OR

你可以下载TSLA股票的csv文件10年在这里 http://www.nasdaq.com/symbol/tsla/historical 然后将其导入为csv。而不是从网上阅读,你将从文件中读取。它不会是一样的,但它会比没有好。