何百もの.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
リモートサイトではこのようなユーザーエージェントを許可しないため、ユーザーwget
エージェントcurl
を明示的に指定する必要があります。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
少し説明
- - モールド 結果ファイル
- -J リモートヘッダ名(またはそれ以上)の
curl 7.21.2
出力ファイル名 - -エル リモートサイトは、次を使用して別のダウンロードページにリダイレクトされます。
- -ㅏ ユーザーエージェント