使用Perl或任何其他语言下载批处理文件

时间:2010-12-22 10:32:59

标签: python perl batch-file download downloading

我对JS,HTML,CSS,C,C ++和C#非常了解。我有这个网站,为我们学校的学生提供问题文件,但下载那些我们必须访问每一页,这对我们来说太难了。大约有150个文件。所以...;)

下载链接总是如下所示:

http://www.example.com/content/download_content.php?content_id=#

其中#是数字。

所以我想如果javascript或perl或python或任何其他语言可以下载文件并自动保存在本地。目前我不需要太多,只需要基本代码。我将学习这门语言,然后我会自己开发。所以请帮帮我吧..

3 个答案:

答案 0 :(得分:3)

这就是我通常在bash中做这些事情的方式:

for i in `seq 1 1000` ; do wget "http://www.example.com/content/download_content.php?content_id=$i" -O $i.html ; done

更新由于网址指向多种文件类型,因此您可以使用file命令识别下载文件的类型,并相应地调整扩展名:

for i in `seq 1 1000`
do
   wget "http://www.example.com/content/download_content.php?content_id=$i" -O $i.out
   mime=`file --brief --mime-type $i.out`
   if [ "$mime" == "application/pdf" ]
   then
      mv $i.out $i.pdf
   elif [ "$mime" == "application/vnd.ms-office" ]
   then
      mv $i.out $i.doc
   fi
done

答案 1 :(得分:2)

这将使用wget程序在shell脚本中执行,将它们全部转储到当前目录中:

#!/bin/sh
i=1
while [ $i -le 150 ]; do
  wget -O $i.out "http://www.example.com/content/download_content.php?content_id=$i"
  i = $((i + 1))
done

答案 2 :(得分:1)

如何使用curl:

curl -O http://www.example.com/content/download_content.php?content_id=#[1-150]

应该适用于大多数Linux发行版,如果没有,你可以从这里下载curl:http://curl.haxx.se/或者使用“apt-get install curl