2017-05-19 3 views
-1

Yahoo Finance에 액세스하는 데 문제가 있습니다. 401 액세스 오류가 발생합니다. 도와 드릴까요?Yahoo Finance http 401 오류 Python

from urllib import request 

biib_url = 'https://query1.finance.yahoo.com/v7/finance/download/BIIB?period1=1463674892&period2=1495210892&interval=1d&events=history&crumb=DHH18j0z8Nl' 

def download_stock_data(csv_url): 
    response = request.urlopen(csv_url) 
    csv = response.read() 
    csv_str = str(csv) 
    lines = csv_str.split("\\n") 
    dest_url = r'biib.csv' 
    fx = open(dest_url, "w") 
    for line in lines: 
    fx.write(line + "\n") 
    fx.close() 

download_stock_data(biib_url) 
+0

부수적으로, 대신 https://pypi.python.org/pypi/yahoo-finance를 사용합니다. –

답변

1

코드를 이렇게 변경하십시오. 즉

#~ from urllib import request 
import requests 

biib_url = 'https://query1.finance.yahoo.com/v7/finance/download/BIIB?period1=1463674892&period2=1495210892&interval=1d&events=history&crumb=DHH18j0z8Nl' 

def download_stock_data(csv_url): 
    #~ response = request.urlopen(csv_url) 
    #~ csv = response.read() 
    #~ csv_str = str(csv) 
    csv_str = requests.get(csv_url).text 
    lines = csv_str.split("\\n") 
    dest_url = r'biib.csv' 
    fx = open(dest_url, "w") 
    for line in lines: 
     fx.write(line + "\n") 
    fx.close() 

download_stock_data(biib_url) 

대신 (이상) urllibrequests를 사용합니다. 너의 삶은 훨씬 쉬울거야.

+0

나는 api에서 재무 데이터를 가져 와서 최종 사용자를위한 계산을 반환하는 웹 사이트를 만들고 싶습니다. 사용자 삽입 질문, 웹 사이트는 답변을 반환하고 일부 그래프를 표시합니다. 사이트에서 응답과 함께 사용하는 데이터는 유료 사이트에 대한 API 호출에서 비롯됩니다. 어디에서 계산합니까? MongoDB를 사용합니까? 당신의 제안은 무엇입니까? 감사합니다, Diogo –

+0

저는이 유형의 작업을 수행하는 웹 사이트에 대한 전문가가 아니므로 사용자가 나에게 묻는 질문과 같은 질문을 환영하지 않습니다. 나는 https://softwarerecs.stackexchange.com/에 묻는 것이 좋습니다. –