python - urllib.error.HTTPError:HTTP错误401:未经授权

时间:2017-07-13 01:51:22

标签: python python-2.7 python-3.x yahoo-finance

我是pyhton的新手,只是试图从外部文件中写入数据。我不知道我哪里出错了。任何人都可以帮我这个。 提前谢谢。

from urllib import request

url = r'https://query1.finance.yahoo.com/v7/finance/download/AMD?period1=1497317134&period2=1499909134&interval=1d&events=history&crumb=HwDtuBHqtg0'

def download_csv(csv_url):

    csv = request.urlopen(csv_url)
    csv_data = csv.read
    csv_str = str(csv_data)
    file = csv_str.split('\\n')
    dest_url = r'appl.csv'
    wr = open(dest_url, 'w')
    for data in file:
        wr.write(data + '\n')
    wr.close()

download_csv(url)

1 个答案:

答案 0 :(得分:0)

因此,我在浏览器中运行了该网址,并明确指出您的API需要Cookie。

所以你必须提供一个合适的标题,通常用urllib你可以管理会话但老实说我会选择一个更加用户友好的库,比如requests python库(人类的HTTP)

示例:

s = requests.Session()

s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')
r = s.get('http://httpbin.org/cookies')

print(r.text)
# '{"cookies": {"sessioncookie": "123456789"}}'

更多:http://docs.python-requests.org/en/master/user/advanced/#session-objects