最近公司工作中接到商品部的需求,进行爬取网站中的所有商品信息进行入库,配合公司市场部商品部进行做市场战略分析,故而使用springboot + htmlunit 进行爬取数据信息,将其入库MySQL进行数据导出,结果因为htmlunit的一个小小配置导致了CPU的消耗高额爆出,同时还导致了GC的一系列的内存溢出等等,坑坏了我一个下午的时间,而且插入数据库的速度超级的慢(数据量才1W+,入库已做批量插入),现在记录下来 希望能帮到大家。
1.什么是htmlunit
htmlunit 是一款开源的java 页面分析工具,读取页面后,可以有效的使用htmlunit分析页面上的内容。项目可以模拟浏览器运行,被誉为java浏览器的开源实现。是一个没有界面的浏览器,运行速度迅速。是junit的扩展之一;采用的是Rhinojs引擎。模拟js运行,非常适用于小型爬虫项目,可以有效的分析出 dom的标签,并且有效的运行页面上的js以便得到一些需要执行JS才能得到的值。