在使用httpclient抓取某东的数据的商品数据的时候,开始数据可以正常插入到数据库中,但是代码运行一会儿以后,就会出现下面这个错误:
idea中异常显示如下:
2020-03-04 13:12:38.344 ERROR 20008 --- [ scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler : Unexpected error occurred in scheduled task
java.lang.IllegalArgumentException: Expected scheme-specific part at index 6: https:
at cn.itcast.jd.utils.HttpUtils.doGetImage(HttpUtils.java:85) ~[classes/:na]
at cn.itcast.jd.task.ItemTask.parse(ItemTask.java:90) ~[classes/:na]
at cn.itcast.jd.task.ItemTask.itemTask(ItemTask.java:41) ~[classes/:na]
Caused by: java.net.URISyntaxException: Expected scheme-specific part at index 6: https:
at java.net.URI$Parser.fail(URI.java:2848) ~[na:1.8.0_231]
at java.net.URI$Parser.failExpecting(URI.java:2854) ~[na:1.8.0_231]
... 17 common frames omitted
首先对异常进行分析:IllegalArgumentException 非法参数异常显示参数不正确,代码定位到cn.itcast.jd.utils.HttpUtils.doGetImage(HttpUtils.java:85)
,
猜测可能是这里传入的url有问题。
通过debug模式查看,发现有些数据是没有图片的,我们这里进行过滤了一下,将没有图片的数据给筛选掉了。
虽然会让数据不全,但是我这里毕竟只是一个demo,也就不严格要求了。后期遇到类似的需求,可以考虑一下。