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ò)資料查詢(xún),感覺(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. mysql - 這條聯(lián)合sql語(yǔ)句哪里錯(cuò)了2. mysql優(yōu)化 - 關(guān)于mysql分區(qū)3. 請(qǐng)教各位大佬,瀏覽器點(diǎn) 提交實(shí)例為什么沒(méi)有反應(yīng)4. java - MySQL中,使用聚合函數(shù)+for update會(huì)鎖表嗎?5. java - C語(yǔ)言算法題-韓信點(diǎn)兵 求解?6. css3 - 這個(gè)形狀使用CSS怎么寫(xiě)出來(lái)?7. javascript - 為什么這個(gè)點(diǎn)擊事件需要點(diǎn)擊兩次才有效果8. java - Atom中文問(wèn)題9. javascript - ionic2 input autofocus 電腦成功,iOS手機(jī)鍵盤(pán)不彈出10. css - ionic中的柵格布局如何讓文字內(nèi)容多少不同的每一列中的內(nèi)容都能垂直居中?
