本来应该昨天来做这个的,但是Cindy有了一个新的东西让我去做。
Solr上面的跑SUDU的Crawler被block掉了,估计是经常爬取数据,被屏蔽了,Cindy姐说SUDU那边只要访问的是Linux的机子就都会被block掉了,说到这里,突然想到,可以在请求头修改我们这边的系统的信息吗,就是伪造,到时候去查查看。然后Cindy姐要去看看ssm的SUDU,里面原先是用HttpClient来爬取数据的,看改用selenium能不能爬到数据。
然后我就去看了,发现大多数route里面用的都是httpclient的方式,而我之前自学的也是用的httpclient。百度了一下,selenium是模拟用户操作的而已,来完成一些操作,比较主要的功能就是获取动态网页的数据,就譬如,你在百度图片里面,刚打开的时候,是只会显示一部分图片的,只有当你有往下拉的操作的时候,才会加载出后面的图片。你用普通的方式爬,就只能爬到刚开始显示出来的数据。但是用selenium就能实现这个滚动的功能,好像有方法,是可以模拟滚动的,而且我也看到了其他的方法,可以实现点击和其他的动作。
我新建了一个类,继承了原先那些crawler要继承的东西,因为要返回跟之前一样的东西嘛。传进来跟以前一样的数据,只是我不对他进行处理,直接,模仿写vessel的方式,调用之前的方法声明了一个WebDriver对象,传url进去,getPageSource返回源码,放在log里面。commit,发送请求,成功。
本来今天想继续完成QA里面在Excel加多几栏的需求的,刚刚Cindy要我把SUDU换成selenium的方式,哈哈哈哈。卧槽,这个有点难吧,虽然好像也不是很难,哈哈哈,但还是比写QA要难吧我觉得,这个真的就是后台的东西,慢慢来咯,QA的东西只能先放放了。
那就这样吧,到时候开始做了再写写一些新心得体会。
感觉又没写什么,但是码了这么多删掉有点可惜。后面写QA的时候再继续往下写吧。
和狗子一起成为更好的人。