2016-08-18 2 views
0

, 내가 대화 형 차트에서 데이터를 꺼내하려고 내가구문 분석 뮤추얼 펀드 JSON 데이터

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

내가 그래서 데이터를 추출 할 수 있습니다 파이썬이 가져 오기를 시도 링크에서 JSON 파일을 가지고 있지만, 나는 오류를

내가 쓴 코드에 직면하고있다 :

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" 

이 데이터를 하나씩 가져 와서 복사하여 Excel에서 사용할 수 있습니다.

모두는 당신이 실제로 얻고있는 웹 사이트 데이터가 (약간 수정) 코드 실행이 차트

+1

코드에 어떤 문제가 있습니까? –

+0

웹에서 물건을 가져 오는 데 ['requests'] (http://docs.python-requests.org/en/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의 문서를 반환

브라우저에 반대 파이썬에서 호출 할 때 해당 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']