我正在尝试从政府网站下载芝加哥犯罪统计数据(CSV格式)。这是下载链接:https://data.cityofchicago.org/api/views/ijzp-q8t2/rows.csv?accessType=DOWNLOAD,但只有在将其复制到浏览器并按Enter键时才有效。
我想知道如何在终端上下载csv文件?我可以使用:
curl -O https://data.cityofchicago.org/api/views/ijzp-q8t2/rows.csv?accessType=DOWNLOAD> Chicago.csv
我想将Chicago.csv保存到ssh上的当前工作目录。
答案 0 :(得分:2)
你的命令有效,但是需要很长时间来“计算”文件,这是巨大的(5360469行,下载215 MB后,我只有881705行,所以最终文件大小应该是大约1.3GB)
如果您尝试使用另一套(让我们说“Flu Shot Clinic Locations - 2012”,1058行,192kB),您可以看到您的命令完美无缺,即使它没有写入Chicago.csv。
看看手册页:
-o, --output <file>
Write output to <file> instead of stdout.
-O, --remote-name
Write output to a local file named like the remote file we get. (Only the file part of the remote file is used, the path is cut off.)
使用以下命令时:
curl -O https://data.cityofchicago.org/api/views/ijzp-q8t2/rows.csv?accessType=DOWNLOAD > Chicago.csv
数据写入rows.csv?accessType=DOWNLOAD
,stdout保持为空,因此Chicago.csv文件将保持为空。
相反,您应该使用:
curl -o Chicago.csv https://data.cityofchicago.org/api/views/ijzp-q8t2/rows.csv?accessType=DOWNLOAD
或者:
curl https://data.cityofchicago.org/api/views/ijzp-q8t2/rows.csv?accessType=DOWNLOAD > Chicago.csv
答案 1 :(得分:1)
你试过wget
吗?像这样:
wget --no-check-certificate --progress=dot https://data.cityofchicago.org/api/views/ijzp-q8t2/rows.csv?accessType=DOWNLOAD