【发布时间】:2021-10-01 09:24:27
【问题描述】:
我正在尝试下载 NSE 股票数据(“https://www.nseindia.com/market-data/live-equity-market?symbol=NIFTY%2050”)
当我将以下 URL 粘贴到浏览器中时,文件将被下载。 https://www.nseindia.com/api/equity-stockIndices?csv=true&index=SECURITIES%20IN%20F%26O
当我尝试使用 python 的 requests 包下载相同的文件时,它会一直循环。
这是我用来下载文件的代码:
def download_url(url, save_path, chunk_size=1024):
"""
r = requests.get(url, stream=True, verify=False)
if r.status_code == 200:
with open(save_path, 'wb') as fd:
for chunk in r.iter_content(chunk_size=chunk_size):
fd.write(chunk)
"""
try:
r = requests.get(url, stream=True, verify=False)
except HTTPError as http_err:
print(f'Adjacent Error occurred while accessing URL:{http_err}')
except Exception as err:
print(f'Adjacent error occurred while accessing URL:{err}')
else:
with open(save_path, 'wb') as fd:
for chunk in r.iter_content(chunk_size=chunk_size):
fd.write(chunk)
【问题讨论】:
-
当我将 URL 粘贴到浏览器中时,我得到“找不到资源”。
-
您不能仅使用 URL 下载。在浏览器中,有一些 cookie 被设置并使用 URL 发送。您必须提供所有正确的标题才能下载工作。