如何使用Python或Curl下载此数据?

时间:2018-04-02 05:31:49

标签: python download pycurl

我想写一个小的Python程序,每天自动从纽约证券交易所下载股票代码列表。

我发现可以通过将浏览器指向此处以CSV格式获取此数据:http://www.nasdaq.com/screening/companies-by-industry.aspx?exchange=NYSE&render=download

但是如何通过curl从bash shell获取此数据?执行以下操作无效:

% curl http://www.nasdaq.com/screening/companies-by-industry.aspx?exchange=NYSE&render=download

我真的需要找到一种方法将这些数据导入我的python程序。如果我可以使用bash shell中的curl来完成它,那么我可以轻松地将其转换为PyCurl。但怎么办呢?有比PyCurl更好的方法吗?

2 个答案:

答案 0 :(得分:1)

您可以使用urllib和csv模块,如下所示。

import csv
import urllib

url = 'http://www.nasdaq.com/screening/companies-by-industry.aspx?exchange=NYSE&render=download'

resp = urllib.urlopen(url)
cr = csv.reader(resp.read().decode('utf-8'))
for row in cr:
        print(row)

答案 1 :(得分:0)

使用requests库可以做到这一点。

pip3 install requests

这是一个例子。

import requests

def download(file_url, output_path):
    r = requests.get(file_url)
    with open(output_path, 'wb') as fd:
        for chunk in r.iter_content(chunk_size=10*1024*1024):
            fd.write(chunk)

download("http://www.nasdaq.com/screening/companies-by-industry.aspx?exchange=NYSE&render=download", "stock_symbols.csv")