python - urllib.error.HTTPError: HTTP Error 401: Unauthorized
python - urllib.error.HTTPError: HTTP Error 401: Unauthorized
我是 python 新手,刚刚尝试从外部文件写入数据。我不知道我哪里出错了。谁能帮我解决这个问题。
提前致谢。
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。
所以你必须提供一个合适的 header,通常你可以使用 urllib 来管理会话,但老实说我会选择一个更 user-friendly 的库,比如 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
我是 python 新手,刚刚尝试从外部文件写入数据。我不知道我哪里出错了。谁能帮我解决这个问题。 提前致谢。
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。
所以你必须提供一个合适的 header,通常你可以使用 urllib 来管理会话,但老实说我会选择一个更 user-friendly 的库,比如 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