WebCollector自带一个Proxys类,通过Proxys.nextRandom()方法可以随机获取加入的代理。
通过Proxys.add(“ip”,”端口号”);添加代理。
如果本机也参与http请求,可用Proxys.addEmpty()方法将本机加入。
覆盖Crawler的getResponse()方法,即可自定义使用随机代理的http请求:
![](https://upload-images.jianshu.io/upload_images/23088632-1ba34bc27ce8d058.png?imageMogr2/auto-orient/strip|imageView2/2/w/1031/format/webp)
代码中的proxies并不是一个自带的对象,用户需要在继承Crawler时,定义一个成员变量:
比如:private Proxys proxies = new Proxys();
并且需要在构造函数或其他地方,向Proxys中添加代理服务器地址。
当然你可以在构造方法里设置多个ip,就可以实现动态代理ip:
比如:
![](https://upload-images.jianshu.io/upload_images/23088632-85d808dc36e00725.png?imageMogr2/auto-orient/strip|imageView2/2/w/933/format/webp)
这时候getResponse也要判断ip是否链接上:
![](https://upload-images.jianshu.io/upload_images/23088632-3a3c4f147a4783ae.png?imageMogr2/auto-orient/strip|imageView2/2/w/872/format/webp)
WebCollector框架的jar包pom文件:
<dependency>
<groupId>cn.edu.hfut.dmic.webcollector</groupId>
<artifactId>WebCollector</artifactId>
<version>2.71</version>
</dependency>