Java爬虫开发总结

Java爬虫开发总结,第1张

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/stephaniezhang/java-tool-library-functions/tree/master/java%E7%88%AC%E8%99%AB%E5%B7%A5%E5%85%B7%E7%B1%BB

Jsoup页面解析注意

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

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

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

使用代理服务器提高成功率

我目前主要使用的两个代理服务器:

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

国内透明免费HTTP代理IP - 快代理

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

浏览器爬虫插件WebScrapper

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

注意要点

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/723341.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存