Java爬虫开发总结

Java爬虫需要的库:主要是Jsoup和OKHTTP

具体的依赖如下:


        
            commons-httpclient
            commons-httpclient
            3.1
        
 
        
        
            org.jsoup
            jsoup
            1.8.3
        
        
        
            commons-io
            commons-io
            2.5
        
 
        
        
            org.apache.httpcomponents
            httpclient
            4.5.5
        

其中jsoup主要是实现爬虫页面解析,okhttp用来做数据请求获取页面信息

工具类文件地址(我的码云仓库):

https://gitee.com/stephaniezh...

Jsoup页面解析注意
本身Jsoup提供了很多的条件筛选接口,比如按class筛选,按attr筛选等,但是我发现不知道是自己使用不准确还是功能不稳定,很多时候按class指定查找元素等很不好用,所以我就会后来一律使用:

Element parents; Elements childs = parents.getAllElements();

大量使用getAllElements()这个函数,然后从找出的childs中继续筛选想要的hml元素,比如判断child.html()是否包含某个特征样式串等,找到想要的节点

使用代理服务器提高成功率
我目前主要使用的两个代理服务器:

但是因为服务器上的代理IP是会不停更新或失效的(每天),所以需要动态的从这些代理服务器上获取最新的代理IP端口,在程序执行爬虫操作的时候,一旦发现哪个IP不可用就丢弃他,以便保证我们程序使用的代理永远是新的更有效的

国内最新免费HTTP代理IP平台 - 蜜蜂代理

浏览器爬虫插件WebScrapper
个别时候,我们有可能需要临时批量采集一些网页数据,直接开发程序耗费的成本可能比较高,就可以考虑用浏览器爬虫插件,我最近用了一个WebScrapper,Chrome和Edge都有都可以用的

注意要点
(1) 爬虫为了提高访问成功率,除了基础的获取页面请求,还可能需要修饰一下请求Header,以及cookie一些数据

(2)避免被服务器封禁号,可能需要切不同的IP进行尝试,即处理一下代理IP,做成维护动态的代理IP后重试

你可能感兴趣的:(java后端爬虫代理服务器)