![컬을 사용하여 PDF 파일 다운로드](https://linux55.com/image/50189/%EC%BB%AC%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20PDF%20%ED%8C%8C%EC%9D%BC%20%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C.png)
수백 개의 .pdf 파일을 다운로드하는 방법http://www.ncbi.nlm.nih.gov/pmc/articles예를 들어 다음 문서 ID에 대해 루프를 사용합니다.
PMC3386155
PMC3625956
PMC3477654
PMC3531051
PMC3114846
PMC3117879
PMC3130560
PMC3531173
PMC3546115
PMC3354575
PMC3771521
답변1
테스트된 작업 스크립트는 다음과 같습니다.
wget 사용
#!/usr/bin/env bash
Link="http://www.ncbi.nlm.nih.gov/pmc/articles/"
ID=( PMC3386155 PMC3625956 PMC3477654 PMC3531051
PMC3114846 PMC3117879 PMC3130560 PMC3531173
PMC3546115 PMC3354575 PMC3771521 )
for f in ${ID[@]};
do
wget --user-agent="Mozilla/5.0 (Windows NT 5.2; rv:2.0.1) Gecko/20100101 Firefox/4.0.1" \
-l1 --no-parent -A.pdf ${Link}${f}/pdf/ -O ${f}.pdf
done
원격 사이트에서는 이와 같은 user-agent를 허용하지 않기 때문에 wget
우리 curl
는 user-agent를 명시적으로 지정해야 합니다.wget
컬을 사용하세요
ID=( PMC3386155 PMC3625956 PMC3477654 PMC3531051 PMC3114846 PMC3117879 PMC3130560 PMC3531173 PMC3546115 PMC3354575 PMC3771521 )
Link="http://www.ncbi.nlm.nih.gov/pmc/articles/"
Args='-O -J -L -A "Mozilla/5.0 (Windows NT 5.2; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"'
printf "%s\n" ${ID[@]} | xargs -n1 -I{} echo curl $Args ${Link}'{}'/pdf/ | sh
약간의 설명
- -영형 결과물 파일
- -제이 원격 헤더 이름(또는 그 이상)의
curl 7.21.2
출력 파일 이름 - -엘 원격 사이트는 다음을 사용하여 다른 다운로드 페이지로 리디렉션됩니다.
- -ㅏ 사용자 에이전트