hutool工具包:使用代理(proxy)实现网络爬虫的简单案例
需求:分别使用正常和代理(proxy)两种方式爬取该页面,展示如何使用hutool代理模式制作爬虫软件。免费代理:网上有很多网站提供免费代理,但是大多数不稳定,如果程序执行报错,换个IP多
需求:
分别使用正常和代理(proxy)两种方式爬取该页面,展示如何使用hutool代理模式制作爬虫软件。
免费代理:
网上有很多网站提供免费代理,但是大多数不稳定,如果程序执行报错,换个IP多试几次。
要爬取的网址:
https://api.ipify.org/?format=json%27
该网址页面只显示当前请求者的IP。
代码:
package com.provy.jiagou; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpUtil; import java.net.InetSocketAddress; import java.net.Proxy; /** * @author 架构师小跟班 * @Description: https://www.jiagou1216.com * @date 2020/7/8 19:14 */ public class Test { private static String url = "https://api.ipify.org/?format=json%27"; public static void main(String[] args) { normal(); proxy(); } /** * 正常访问 */ public static void normal() { System.out.println(HttpUtil.get(url)); } /** * 代理访问 */ public static void proxy() { String ip = "117.158.65.216"; int port = 43222; Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(ip, port)); String result = HttpRequest.get(url).setProxy(proxy).execute().body(); System.out.println(result); } }
打印:
很赞哦! (
)
- 上一篇
线程池创建多个线程,如果其中一个线程抛异常会怎样?
背景:创建一个线程池,允许同时执行5个线程。模拟100个任务(for循环100次),当i=3时抛出异常。代码:package com.provy.jiagou;import cn.hutool.core.thread.ThreadUtil;import jav
- 下一篇
分享几个只显示请求IP的网站,方便测试
这些网站只显示当前请求者的IP地址,没有其他复杂的元素,方便测试。https://ifconfig.me/ip https://api.ipify.org/?format=json%27 https://httpbin.org/ip https://ip.cn/ h
相关文章
- hutool工具包:emoji表情符号转为字符符号(emoji-java)
- hutool工具包:移除字符串中的emoji表情符号(emoji-java)
- hutool工具包:判断一个字符串中是否包含emoji表情符号(e
- hutool工具包:EmojiUtil工具类报错问题(emoji-java)
- hutool工具包:使用DB类任意执行一条sql语句
- hutool工具包:使用DB类修改数据库某条数据
- hutool工具包:使用DB类向数据库插入一条数据
- hutool工具包:数据库DB操作之Entity转实体类
- Hutool工具包:使用BeanUtil复制Bean对象属性
- Hutool工具包:线程等待随机时间(ThreadUtil,RandomUtil)