POM
, Sie können den Quellcode erneut herunterladenDies ist die Projektadresse des Crawlers, den ich geschrieben habe
Das Projekt meldet keinen Fehler, aber das Problem besteht darin, dass das Bild nach dem Herunterladen des Bildes in den lokalen Bereich oft unvollständig ist, wie folgt:
Dies ist der Kerncode zum Herunterladen von Bildern, wie folgt:
@Override
public void run() {
Response res = null;
try {
res = Jsoup.connect(src).ignoreContentType(true).timeout(30000).execute();
byte[] bytes = res.bodyAsBytes();
File file = new File(path + name);
if (!file.exists()) {
RandomAccessFile raf = new RandomAccessFile(file, "rw");
raf.write(bytes);
raf.close();
}
} catch (IOException e1) {
e1.printStackTrace();
}
}
Nach der Datenabfrage habe ich das Gefühl, dass es sich um ein Problem mit der Scope-Anfrage handelt Range
oder um ein Problem, das ich nicht gefunden habe? Ich hoffe, Sie können einen Blick darauf werfen, danke
感觉是响应数据没获取完整,你debug一下看看响应的实际数据大小和你保存的数据大小是否有出入。
又或者因为还有一部分数据还在缓冲区中,没来得及写到文件,此时进程退出,导致数据不完整,关闭文件流之前执行一下flush操作。