栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java爬虫开发总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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/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后重试

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/830680.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号