首頁  >  問答  >  主體

java - 爬蟲爬取圖片問題?

剛剛修改了下方 POM,大家可以重新下載原始碼

這是我寫的爬蟲的項目地址
項目不報錯,但是問題是下載圖片到本地後經常性的是圖片不完整,如下:

這是下載圖片的核心程式碼,如下:

@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();
        }
    }

經過資料查詢,感覺是範圍請求 Range的問題或是自己沒發現的問題?希望大家給看下,謝謝

天蓬老师天蓬老师2675 天前810

全部回覆(1)我來回復

  • typecho

    typecho2017-06-23 09:14:30

    1. 感覺是回應資料沒取得完整,你debug一下看看回應的實際資料大小和你儲存的資料大小是否有出入。

    2. 又或因為還有一部分資料還在緩衝區中,沒來得及寫到文件,此時進程退出,導致資料不完整,關閉文件流之前執行一下flush操作。

    回覆
    0
  • 取消回覆