下载" .java"仅来自给定网站/网址

时间:2016-04-20 12:19:21

标签: java php bash shell

出于某些研究目的,我想从给定的网站下载1000个java类(" .java")文件。我不想手动执行此操作。

例如,下面有许多我想通过脚本/编程获得的Java源文件。我使用过Linux shell脚本,PHP和Java。所以使用这些的任何解决方案都是值得赞赏的。

http://www.cs.uic.edu/~sloan/CLASSES/java/

谢谢!

3 个答案:

答案 0 :(得分:1)

基于问题

wget -A java -r https://www.cs.uic.edu/~sloan/CLASSES/java/

将在与服务器相同的目录结构中下载所有“.java”文件。 这也将下载robots.txt文件。

答案 1 :(得分:0)

对于您提供的特定示例,

curl -vs https://www.cs.uic.edu/~sloan/CLASSES/java/ 2>&1 | grep -oP '(?<=").*.java(?=")' | sed -e 's|^|https://www.cs.uic.edu/~sloan/CLASSES/java/|' | xargs wget

说明

1)获取页面并打印到stdout。它将为您提供完整的HTML。

curl -vs https://www.cs.uic.edu/~sloan/CLASSES/java/ 2>&1

2)在引号中找到带有.java的单词,但输出不带引号"[ANYTHING].java"。它会给你类似HelloWorld.java

的东西
grep -oP '(?<=").*.java(?=")'

3)添加前缀以使其成为完整的URL,以便您可以下载它们。它会给你类似https://www.cs.uic.edu/~sloan/CLASSES/java/HelloWorld.java

的东西
sed -e 's|^|https://www.cs.uic.edu/~sloan/CLASSES/java/|'

4)将它们下载到当前目录。

xargs wget

答案 2 :(得分:0)

谢谢大家!!

我已经完成了使用“wget -r -l1 -nd -nc -A.java http://www.cs.uic.edu/~sloan/CLASSES/java/

然而,这是我的必修课。但我只是在想,也许我们可以改进相同的“wget”上网,并获得1000“.java”文件。也许,我们可以调用谷歌搜索(从脚本)获取关键字“java教程”,然后从返回的URL中扫描“.java”文件。

再次感谢所有

VIKI。