您的位置:首页 > 新闻资讯 >文章内容
java爬虫是怎么使用代理采集数据的
来源:互联网 作者:admin 时间:2019-03-01 15:36:09

  每当我们要爬数据之前,都需要准备好代理,不然都无法很好的完成任务,毕竟现在技术的进步,各个网站都自己的反爬虫机制,总得花点时间,花点成本才能突破这些限制的。今天跟大家去看看java爬虫是怎么使用代理采集数据的


  设置代理(Proxy)可以有两种方式:


  1.通过java.net.Proxy类


  这种方式是实例化一个Proxy类提供代理服务器的信息,如端口和地址。


  Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(host, port));


  URLConnection conn = url.openConnection(proxy);


  使用代理的方式是在打开Http连接的时候同时传递一个Proxy参数。如果需要验证信息的话我们可以添加一个Http头参数来实现。


java爬虫是怎么使用代理采集数据的


  其中的Base64.encode(user:password)是指把用户名和密码用冒号连接起来之后使用Base64编码后的值作为值的一部分。


  通过这种方式只影响特定的Http连接,但是需要对代码进行修改。这种方式下是否可以使用Authenticator还未做验证。


  2.通过设置系统属性的方式


  可以使用其中的http.proxyHost,http.proxyPort这两个属性,分别设置代理服务器地址和代理端口。


java爬虫是怎么使用代理采集数据的


  替换上面的代理服务器地址或IP地址,以及相应的端口为真实端口,Http连接就可以工作了。需要注意的是如果你设置了这些属性,那么所有的Http请求都会通过代理服务器。


  这些属性是JVM级别的,设置了以后对所有的同类请求都有效。


  如果你的代理服务器不需要验证,那到此就结束了。但一般都是需要验证的。但是你要是看了上面Java支持的属性列表,你就会发现那里面并没有期望中的


  http.proxyUserName=username


  http.proxyPassword=password


  这两个属性。 这时就需要java.net.Authenticator类来完成一般的Http验证。


  但是java.net.Authenticator这个类却是个抽象类,我们要使用还需要实例化一下子自己的类。如下


java爬虫是怎么使用代理采集数据的


java爬虫是怎么使用代理采集数据的


  我们需要覆盖java.net.Authenticator类的getPasswordAuthentication()方法,并返回一个PasswordAuthentication实例。要使他起作用,还需要设置


  Authenticator.setDefault(new BasicAuthenticator(userName, password));


  这样就提供了基于Http Basic的验证,接着就可以顺畅的使用需要验证的代理了。


  以上就是关于java爬虫是怎么使用代理采集数据的方法,仅供参考。对于代理的使用,大家可以选择代理精灵,这是目前市场上非常不错的代理IP供应商,IP高质量,高匿名。


相关文章内容简介
推荐阅读
  • 29 2019-04
    高匿名代理预防真实IP被泄露

    高匿名代理预防真实IP被泄露,如果怕我们的IP被泄露,可以考虑使用机灵代理的。这样使用机灵代理上网,能够完美的隐藏了我们的本机真实IP,多加了一份安全保障。为什么说使用代理IP可以

  • 04 2019-06
    Socks代理比其他代理快吗

    Socks代理比其他代理快吗?啥是socks5代理,可能还有很多人都不知道的,来我们简单说说。socks5代理采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器。

  • 15 2020-06
    代理ip池是怎么搭建的

    很多朋友是通过爬取网络上的免费HTTP代理来搭建本地IP池,今天主要讲的是通过购买付费HTTP代理来搭建本地IP池。有朋友会纳闷,已经付费购买了IP池,为什么还要多此一举搭建本地IP池呢?

  • 28 2019-08
    手机也能用动态IP代理吗?

    电脑换IP我们比较常使用,那么如果你的手机需要进行IP地址切换,你知道有什么方法可以实现吗?其实原理跟PC端是一致的,只要通过代理IP软件就可以很方便使用,下面我们来看看具体是怎样操

  • 06 2019-03
    代理IP与爬虫的关系分析,爬虫使用的IP池需要多少代理IP?

    信息时代,网络数据非常多,我们即使要做个小的数据分析,也是需要抓取非常多的网页来分析结果,这单靠人工获取数据是不现实的,因此大家都是使用各种采集器或者直接使用爬虫去爬取数

  • 11 2019-06
    搭建移动设备使用的代理服务器

    搭建移动设备使用的代理服务器,这与pc端有什么不同呢?移动设备想要访问位于局域网中的某个特定设备上搭建的服务,需要通过代理服务器来实现,针对不同操作系统搭建代理服务器有不同

在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部