我想写一个小的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更好的方法吗?
答案 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")