主要是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后重试
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)