我正在尝试自动化数据下载过程。为此,我的目标是从重定向链接中提取(使用bash命令).zip,该链接可以在此处显示:https://journals.sagepub.com/doi/suppl/10.1177/0022002706289303
我已经看到人们建议将带有-L
的{{1}}标记用于重定向,但是它似乎不适用于我的情况。我尝试过的特定命令是:
curl
命令curl -L -o output.zip https://journals.sagepub.com/doi/suppl/10.1177/0022002706289303/suppl_file/Sambanis_Aug_06.zip
显示提取的.zip文件实际上是file output.zip
。另一方面,单击重定向链接(在HTML document text
命令中使用)将通过浏览器自动下载提取的文件夹。
任何有关我应该尝试的想法(无论是否可行)的想法,技巧或建议,将受到高度赞赏!
答案 0 :(得分:1)
您可以在Linux上使用wget
下载该文件
$ wget https://journals.sagepub.com/doi/suppl/10.1177/0022002706289303/suppl_file/Sambanis_Aug_06.zip
$ unzip Sambanis_Aug_06.zip
Archive: Sambanis_Aug_06.zip
inflating: Sambanis (Aug 06).dta
inflating: Sambanis Appendix (Aug 06).pdf
答案 1 :(得分:1)
如果使用--verbose
选项执行curl,则可以看到这是与Cookie相关的问题。 Cookie引擎需要启用。您可以按以下方式下载所需的文件:
curl -b cookies.txt -L https://journals.sagepub.com/doi/suppl/10.1177/0022002706289303/suppl_file/Sambanis_Aug_06.zip -o test.zip
-b选项提供的文件是否不存在并不重要。我们只需要激活cookie引擎即可。
有关更多信息,请参考Send cookies with curl和Save cookies between two curl requests。