java - 爬蟲(chóng)爬取圖片問(wèn)題?
問(wèn)題描述
剛才修改了下 POM,大家可以重新下載源碼這是我寫(xiě)的爬蟲(chóng)的項(xiàng)目地址 項(xiàng)目不報(bào)錯(cuò),但是問(wèn)題是下載圖片到本地后經(jīng)常性的是圖片不完整,如下:
這是下載圖片的核心代碼,如下:
@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();} }
經(jīng)過(guò)資料查詢,感覺(jué)是范圍請(qǐng)求 Range的問(wèn)題或者自己沒(méi)發(fā)現(xiàn)的問(wèn)題?希望大家給看下,謝謝
問(wèn)題解答
回答1:感覺(jué)是響應(yīng)數(shù)據(jù)沒(méi)獲取完整,你debug一下看看響應(yīng)的實(shí)際數(shù)據(jù)大小和你保存的數(shù)據(jù)大小是否有出入。
又或者因?yàn)檫€有一部分?jǐn)?shù)據(jù)還在緩沖區(qū)中,沒(méi)來(lái)得及寫(xiě)到文件,此時(shí)進(jìn)程退出,導(dǎo)致數(shù)據(jù)不完整,關(guān)閉文件流之前執(zhí)行一下flush操作。
相關(guān)文章:
1. node.js - node 客戶端socket一直報(bào)錯(cuò)Error: read ECONNRESET,用php的socket沒(méi)問(wèn)題哈。。2. django - 后臺(tái)返回的json數(shù)據(jù)經(jīng)過(guò)Base64加密,獲取時(shí)用python如何解密~!3. 老哥們求助啊4. angular.js - 如何通俗易懂的解釋“依賴注入”?5. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?6. html5 - angularjs中外部模版加載無(wú)法使用7. 我的html頁(yè)面一提交,網(wǎng)頁(yè)便顯示出了我的php代碼,求問(wèn)是什么原因?8. tp6表單令牌9. css3 - 請(qǐng)問(wèn)一下在移動(dòng)端CSS布局布局中通常需要用到哪些元素,屬性?10. ubuntu PPA 更新老是不成功該怎么辦
