您的位置:首页 > 新闻资讯 >文章内容
java爬虫的HttpClient请求
来源:互联网 作者:admin 时间:2019-02-15 10:48:37

我们在获取网络资源的过程中,或许会一些限制,所以许多Java程序要使用HTTP协议来获取网络资源,今天我们来了解下java爬虫的HttpClient请求:


什么是HttpClient:


HttpClient是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。


HttpClient就是一个增强版的HttpURLConnection,主要用于模拟浏览器请求url,返回response获取网页数据,然后使用jsoup解析网页,提取我们需要的信息。


java爬虫的HttpClient请求:


1.发送httpget请求


java爬虫的HttpClient请求


2.httpclient发送请求


使用httpclient直接发送请求,对于某些安全性较高的网站而言,该httpGet请求会被识别非浏览器代理请求而被拒绝访问。所以一般项目都需要使用httpClient模拟浏览器发送请求,浏览器关键参数。


  java爬虫的HttpClient请求


HttpGet请求除了访问到指定的url之外,还可设置请求头、请求连接等参数信息。这些参数对于真实浏览器发送的http请求是必不可少的,可通过浏览器-network进行查看具体需要设置哪几种参数以及参数值。


  java爬虫的HttpClient请求


对于返回的response httpEntity,可获取实体的内容编码,以及返回状态码来。返回实体信息主要用于特征识别 ,使用content-type过滤调不需要的其他相应类型,例如只要text类型的。


3.采集图片


response返回信息中肯定会有对应图片信息,例如图片验证码、图片二维码等登录凭证。在编写爬虫时,网页中图片的采集方案大致如下:


筛选图片:确认该请求为图片,根据contentType进行筛选。获取是图片的请求 ,找到图片,然后处理,另存。


保存方式:图片服务器,采集好放到图片服务器中;直接存到项目目录下,webapp项目路径下或者缓存中。


  java爬虫的HttpClient请求


这里使用了commons-io, apache IO 框架 copyFileto方法,直接将图片流另存为图片文件到指定路径下。


四、动态更换代理IP


一般对于访问量大、安全性高的网站都有各自的反爬策略,其中针对定期、规律性访问的IP会进行拉黑屏蔽处理。定向爬取某类网站数据便需要使用大量代理IP进行访问,避免IP被封的情况发生。其中代理IP根据是否易被目标网站发现分为,透明代理、匿名代理、混淆代理(伪装)、高匿代理(隐蔽性最高,让别人根本无法发现你在使用代理)。


一般如果IP被封,那请求返回状态一般为403,拒绝访问,这时则需要换一个ip再去访问。另外代理ip管理策略,如果项目没有专门购买批量代理Ip则需要自行在网站上抓代理ip,把抓到的ip都放到先进先出的队列里。n个队列,例如每个40个IP放到1个队列里,队列里<10个了,再去抓。队列里的IP先进先出,避免重复使用。养成代理IP池。


  java爬虫的HttpClient请求



相关文章内容简介
推荐阅读
  • 20 2019-03
    动态ip代理解决不了抓取问题,哪里出问题了?

    网络爬虫配上动态IP代理,基本上都能顺利的抓取到信息,因为使用了动态IP代理就可以解决频率限制的问题,可以一直进行数据的抓取工作。但有时候,即使使用了动态IP代理,还是出问题了,

  • 18 2019-03
    想解决IP限制问题,怎么获得不限量动态IP代理

    一些需要更换IP的项目,仅靠一个IP是无法完成,即使自己动手更换IP,效果也不大,因为很多地方使用的是局域网,内网IP怎么换都没有什么用,其外网IP是一致的。

  • 16 2020-01
    高匿代理ip对电商的作用

    在电商流行起来之前,我们做生意首先浮现在脑海中的就是要拥有一个实体店铺,而店铺的选址必须要选在有固定客流量的地方。但是如今电商横行,虽然不能完全摒除实体店铺,但是也应紧跟

  • 31 2019-07
    IP代理能帮网络爬虫换IP伪装身份

    IP代理能帮网络爬虫换IP伪装身份,因为互联网的快速发展,越是大的网站或者是越成熟的网站,其反爬措施都不错。这时候再单独使用IP代理来破限制,最终也可能是徒劳的。为什么呢?

  • 17 2019-07
    怎么判断http代理ip有问题?

    怎么判断http代理ip有问题?当遇上http代理ip连接不上,或者出错,或者突破不了ip限制时,大家的第一反应肯定是这个http代理ip有问题的。但真的是这个原因吗?我们来看看:

  • 17 2019-06
    分布式爬虫需要代理IP优化采集

    分布式爬虫需要代理IP优化采集,因为技术人员在使用分布式爬虫,或是多进程爬虫的时候,目标一旦限制,很有可能会使用到代理IP。因此对于代理IP的寻找还是需要重视的。

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

大客户经理微信

微信公众号

微信公众号

回到顶部