Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.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中下载csv文件和zip文件?_Python - Fatal编程技术网

如何在python中下载csv文件和zip文件?

如何在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.

我一直在尝试从给定的链接下载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.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)