如何在python中下载csv文件和zip文件?
我一直在尝试从给定的链接下载csv和zip文件: ** ** 下面的代码给出了一个错误,即HTTP错误403:禁止如何在python中下载csv文件和zip文件?,python,Python,我一直在尝试从给定的链接下载csv和zip文件: ** ** 下面的代码给出了一个错误,即HTTP错误403:禁止 导入urllib.request csv_url=https://nseindia.com/archives/nsccl/sett/FOSett_prce_17052019.csv' urllib.request.urlretrieve(csv_url,'17_05.csv') 您的问题是因为网站服务器阻止了Python urllib的默认用户代理(Python urllib/3.
导入urllib.request
csv_url=https://nseindia.com/archives/nsccl/sett/FOSett_prce_17052019.csv'
urllib.request.urlretrieve(csv_url,'17_05.csv')
您的问题是因为网站服务器阻止了Python urllib的默认用户代理(Python urllib/3.7
)。但是,您可以通过更改用户代理标头绕过阻塞:
导入urllib.request
opener=urllib.request.build\u opener()
opener.addheaders=[('User-agent','Mozilla/5.0')]
urllib.request.install_opener(opener)
csv_url=https://nseindia.com/archives/nsccl/sett/FOSett_prce_17052019.csv'
urllib.request.urlretrieve(csv_url,'17_05.csv')
在这里,您可以获取CSV文件的内容并编写CSV文件
import csv
import requests
CSV_URL = 'https://nseindia.com/archives/nsccl/sett/FOSett_prce_17052019.csv'
with requests.Session() as s:
download = s.get(CSV_URL)
decoded_content = download.content.decode('utf-8')
cr = csv.reader(decoded_content.splitlines(), delimiter=',')
my_list = list(cr)
for row in my_list:
print(row)
安装软件包
请求
pip install requests
然后,使用请求。获取api下载文件,然后将其写入所需文件
import requests
csv_url = 'https://nseindia.com/archives/nsccl/sett/FOSett_prce_17052019.csv'
r = requests.get(csv_url, allow_redirects=True)
open('test.csv', 'wb').write(r.content)