Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python-urllib.error.HTTPError:HTTP错误401:未经授权_Python_Python 2.7_Python 3.x_Yahoo Finance - Fatal编程技术网

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

python-urllib.error.HTTPError:HTTP错误401:未经授权,python,python-2.7,python-3.x,yahoo-finance,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 d

我是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)

所以我在浏览器中运行了URL,它清楚地表明您的API需要cookie

因此,您必须提供一个适当的头,通常使用urllib您可以管理会话,但老实说,我会选择一个更为用户友好的库,例如
请求
python库(HTTP for Humans)

例如:

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"}}'

更多信息:

因此我在浏览器中运行了URL,它清楚地表明您的API需要cookie

因此,您必须提供一个适当的头,通常使用urllib您可以管理会话,但老实说,我会选择一个更为用户友好的库,例如
请求
python库(HTTP for Humans)

例如:

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"}}'

更多信息:

您编写了
csv.read
而不是
csv.read()
如果您从浏览器访问该URL,您将看到您需要一个身份验证cookie来访问该资源我认为这将帮助您:您编写了
csv.read
而不是
csv.read()
如果您从浏览器访问该URL,您将看到您需要一个身份验证cookie来访问该资源。我认为这将帮助您: