gpt4 book ai didi

java - 下载网站上的所有pdf文件

转载 作者:行者123 更新时间:2023-12-02 04:40:12 25 4
gpt4 key购买 nike

尝试下载网站中的所有 pdf 文件,但代码错误。我想那里有更好的。无论如何,这就是:

try {
System.out.println("Download started");
URL getURL = new URL("http://cs.lth.se/eda095/foerelaesningar/?no_cache=1");
URL pdf;
URLConnection urlC = getURL.openConnection();

InputStream is = urlC.getInputStream();

BufferedReader buffRead = new BufferedReader(new InputStreamReader(is));

FileOutputStream fos = null;

byte[] b = new byte[1024];

String line;
double i = 1;
int t = 1;

int length;
while((line = buffRead.readLine()) != null) {

while((length = is.read(b)) > -1) {

if(line.contains(".pdf")) {

pdf = new URL("http://fileadmin.cs.lth.se/cs/Education/EDA095/2015/lectures/"
+ "f" + i + "-" + t + "x" + t);


fos = new FileOutputStream(new File("fil" + i + "-" + t + "x" + t + ".pdf"));
fos.write(b, 0, line.length());
i += 0.5;
t += 1;

if(t > 2) {
t = 1;
}
}
}
}
is.close();
System.out.println("Download finished");
} catch (MalformedURLException e) {

e.printStackTrace();
} catch (IOException e) {

e.printStackTrace();
}

我得到的文件已损坏,但是有更好的方法来下载 PDF 文件吗?因为在网站上,有些文件是 f1-1x1、f1-2x2、f2-1x1.. 但如果这些文件是 donalds.pdf stack.pdf 等呢?

所以问题是,如何让我的代码更好地下载所有 pdf 文件?

最佳答案

基本上你会问:“我怎样才能可靠地解析 HTML;识别所有指向 PDF 文件的下载链接”。

任何其他事情(比如你现在拥有的;预测链接将/可能/应该是什么样子)都将成为悲伤的持续来源;因为您网站的任何更新;或者尝试在另一个不同的网站上运行您的代码很可能会失败。这是因为 HTML 很复杂并且有如此多的风格,您应该忘记分析 HTML 内容的“简单”解决方案。

从这个意义上说:学习如何使用 HTML 解析器;第一个起点可以是 Which HTML Parser is the best?

关于java - 下载网站上的所有pdf文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30278000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com