2016-08-18 10 views
0

、私はインタラクティブなチャートからデータを引き出すしようとしていますし、私は解析ミューチュアルファンドのJSONデータ

http://www.tadawul.com.sa/Charts/MutualFundChartDataDownloader

が、私はそう、私はデータを抽出することができますPythonのにこれをインポートしようとした。このリンクからJSONファイルを持っていますが、

私は本当にインポートしようとしていますが、次のデータ

0で何
import urllib 
import json 

htmltext = urllib.urlopen("https://www.tadawul.com.sa/Charts/MutualFundChartDataDownloader?actionTarget=mutualFundChartData&mutualFundSymbol=006038&format=json") 

data = json.load(htmltext) 

print data["unitPrice"] 

:私は、私が書いたエラー

コードに直面しています

"valuationDate" 
"valudationDateAsDate" 
"mutualFundNav" 
"unitPrice" 

これらのデータを1つずつ取得して、コピーしてExcelで使用できるようにしたいと考えています。

すべては、あなたが実際に取得しているウェブサイトのデータは、あなたの(わずかに変更された)のコードを実行して、このチャート

+1

コードには何が問題になっていますか? –

+0

ウェブからのものを取得するためのライブラリ['requests'](http://docs.python-requests.org/ja/master/)の使用をお勧めします。はるかに良いパッケージです。 – IanAuld

答えて

0

の価格を取得することを示している私は何をしようとしていますです。

import urllib 

htmltext = urllib.urlopen("https://www.tadawul.com.sa/Charts/MutualFundChartDataDownloader?actionTarget=mutualFundChartData&mutualFundSymbol=006038&format=json") 
print htmltext.read() 

それはあなたが期待するものではありませんが、それはしてHTMLドキュメントを返します。

ブラウザとは対照的に、Pythonのから呼び出すときにそのURLのリクエストがブロックされている
<html><head><title>Request Rejected</title></head><body ... </html> 

。このコードは、ダウンロードを許可するユーザーエージェントを含む要求を行います。

import urllib2 
import json 

url = "https://www.tadawul.com.sa/Charts/MutualFundChartDataDownloader?actionTarget=mutualFundChartData&mutualFundSymbol=006038&format=json" 
request = urllib2.Request(url, headers={'User-Agent' : ''}) 
result = urllib2.urlopen(request) 
data = json.loads(result.read()) 

for entry in data: 
    print entry[u'valuationDate']