2017-06-20 81 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。而不是從網上閱讀,你將從文件中讀取。它不會是一樣的,但它會比沒有好。