文章详情页
java - 爬虫爬取图片问题?
浏览:51日期:2023-10-31 08:12:21
问题描述
刚才修改了下 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的问题或者自己没发现的问题?希望大家给看下,谢谢
问题解答
回答1:感觉是响应数据没获取完整,你debug一下看看响应的实际数据大小和你保存的数据大小是否有出入。
又或者因为还有一部分数据还在缓冲区中,没来得及写到文件,此时进程退出,导致数据不完整,关闭文件流之前执行一下flush操作。
标签:
java
相关文章:
1. docker gitlab 如何git clone?2. 网页爬虫 - Python:爬虫的中文编码问题?3. javascript - 修改表单多选项时和后台同事配合的问题。4. ubuntu 远程管理KVM设置问题5. javascript - vue生成一维码?求助!!!!!急6. css - 手机页面在安卓和苹果浏览器显示不同的小小问题7. javascript - 关于Js中 this的一道题8. angular.js - angularjs如何动态改变ng-model值,在controller中获取input中输入的值并组合post发送到后台9. javascript - H5页面怎么查看console信息?10. browsersync检测的静态页面只能用index.html命名,用demo.html就不能实时同步,检测动态页面的时候,比如wamp环境下,用browsersync能打开页面,但不能实现同步
排行榜
