使用爬虫框架htmlunit整合springboot出现的一个不兼容问题
程序员文章站
2024-01-05 15:31:34
使用爬虫框架htmlunit整合springboot不兼容的一个问题 本来使用htmlunit爬虫爬取数据非常正常好用,之前一直是直接java程序或者整合Javaswing界面,都没有问题,但是后来整合springboot变成BS架构之后,同样的代码却报错,报错 信息如下: 这个错误很常见,网上搜索 ......
使用爬虫框架htmlunit整合springboot不兼容的一个问题
本来使用htmlunit爬虫爬取数据非常正常好用,之前一直是直接java程序或者整合javaswing界面,都没有问题,但是后来整合springboot变成bs架构之后,同样的代码却报错,报错
信息如下:
这个错误很常见,网上搜索得到的答案也千篇一律,就是解决动态网页的获取问题,添加对js的支持,但是我的代码单独运行时没有问题的,而且也并不是爬取所有的网页都有这个错误,只是有些无法爬取,这个问题困扰了我好久,隐约觉得不是网上说的那种原因,是别的的未知原因引发了这个错误,那最有可能的原因就是跟整合springboot有关系,没办法,重新创建一个最简单的springboot项目,整合好htmlunit一个个排查,发现依然如此,可以肯定是因为整合了springboot,那接着排查是否是jar包冲突,按理说jar冲突会报错提醒,但是却没有相关的冲突报错信息,后来想到使用htmlunit时需要log4j的支持,否则也会报错,那会不会是因为日志冲突的原因呢?springboot默认的日志是logback,虽然jar都有,也没有相关的报错信息,但是有可能是日志冲突导致错误,果断去掉logback,
重启,果然可以运行,但是日志系统需要自己重新书写了,虽然为啥没有报日志的相关错误,但是总算是找到了解决办法,特在此记录一下。
2018年8月6日晚更新......
后来当整合jalopy格式化java代码时,又出现了不兼容的情况,最终发现依赖的log4j不要使用maven加载,而是创建lib文件夹第三方引入,并且排列在第一位即可解决兼容问题。
于是乎想到htmlunit会不会也是这样,果然,尝试后如此。