Как завить для извлечения действительный файл .zip из перенаправления ссылки - PullRequest
1 голос
/ 07 мая 2019

Я пытаюсь автоматизировать процесс загрузки данных. Для этой цели моя цель состоит в том, чтобы извлечь (используя команды bash) .zip из ссылки на перенаправление, которую можно увидеть здесь: https://journals.sagepub.com/doi/suppl/10.1177/0022002706289303

Я видел, что люди предлагают тег -L с curl для перенаправлений, но, похоже, он не работает для моего случая. Конкретная команда, которую я попробовал: curl -L -o output.zip https://journals.sagepub.com/doi/suppl/10.1177/0022002706289303/suppl_file/Sambanis_Aug_06.zip

Команда file output.zip показывает, что извлеченный ZIP-файл на самом деле является HTML document text. С другой стороны, нажатие на ссылку перенаправления (используется внутри команды curl) автоматически загружает извлеченную папку через браузер.

Буду очень признателен за любые идеи, советы или предложения о том, что мне следует попробовать (или возможно ли это или нет)!

Ответы [ 2 ]

1 голос
/ 07 мая 2019

Если вы запустите curl с опцией --verbose, вы увидите, что это проблема, связанная с 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.

См. Отправка файлов cookie с curl и Сохранение файлов cookie между двумя запросами curl для получения дополнительной информации.

1 голос
/ 07 мая 2019

Вы можете загрузить этот файл с помощью wget в Linux

$ 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...