今天在找Java的爬虫的库,发现Java的爬虫框架挺多的,常见的有nutch,Heritrix,crawler4j等。

但我想要的是类似Python的requests库的Java库。

看到一个库叫Unirest,但是我尝试后发现并不好用,而且这个库的最后更新时间是16年。

最后我选择了HttpComponents ,里面包含的组件有 HttpClient, HttpAsyncClient 。


在Maven中添加如下依赖:

    <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.8</version></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpasyncclient</artifactId><version>4.1.4</version></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpmime</artifactId><version>4.5.8</version></dependency>

HttpClient示例代码如下:

        try {CloseableHttpClient httpclient = HttpClients.createDefault();// 创建httpget.HttpGet httpget = new HttpGet("http://www.baidu.com");CloseableHttpResponse response = httpclient.execute(httpget);HttpEntity entity = response.getEntity();if (response.getStatusLine().getStatusCode() == 200) {// 打印响应内容String retSrc = EntityUtils.toString(entity);System.out.println("Response content: " + retSrc);} else {System.out.println("status code error");}} catch (IOException e) {e.printStackTrace();}

HttpAsyncClient异步爬虫代码如下:

     CloseableHttpAsyncClient httpclient = HttpAsyncClients.createDefault();try {httpclient.start();HttpGet request = new HttpGet("http://httpbin.org/get");Future<HttpResponse> future = httpclient.execute(request, null);HttpResponse response = null;response = future.get();System.out.println("Response: " + response.getStatusLine());System.out.println("Shutting down");httpclient.close();} catch (Exception e) {e.printStackTrace();}

Java 爬虫--类似Python的requests库--HttpClient, HttpAsyncClient--Maven相关推荐

  1. python中requests库的用途-数据爬虫(三):python中requests库使用方法详解

    有些网站访问时必须带有浏览器等信息,如果不传入headers就会报错,如下 使用 Requests 模块,上传文件也是如此简单的,文件的类型会自动进行处理: 因为12306有一个错误证书,我们那它的网 ...

  2. python基础代码库-python爬虫基础教程:requests库(二)代码实例

    get请求 简单使用 import requests ''' 想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载! ''' respons ...

  3. python爬虫requests库_python爬虫基础教程:requests库(二)代码实例

    get请求 简单使用 import requests ''' 想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载! ''' respons ...

  4. python网络爬虫系列教程——python中requests库应用全解

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python中requests库的基础应用,网页数据挖掘的常用库之一.也就是说最主要的功能是从网页抓取数据. 使用前需要先联网安装reques ...

  5. 手机版python3.6.6的requests库下载_Python爬虫之Python3.6 Requests库的基本使用方法

    Python爬虫之Python3.6 Requests库的基本使用方法 未分类 在使用Python过程中,使用http处理各种请求是我们绕不过去的,在Python中开发爬虫用来抓取各种网络上的资源,就 ...

  6. Python 的 requests 库的用法

    Python爬虫利器一之Requests库的用法:http://cuiqingcai.com/2556.html Python利用Requests库写爬虫(一):http://www.jianshu. ...

  7. python使用requests库爬取淘宝指定商品信息

    python使用requests库爬取淘宝指定商品信息 在搜索栏中输入商品 通过F12开发者工具抓包我们知道了商品信息的API,同时发现了商品数据都以json字符串的形式存储在返回的html内 解析u ...

  8. python使用requests库下载单张图片的简单示例

    python使用requests库下载单张图片的简单示例 简要说明 代码示例 简要说明 下载图片的核心代码如下: res = requests.get(url=img_url, headers=hea ...

  9. python3爬虫系列03之requests库:根据关键词自动爬取下载百度图片

    python3爬虫系列03之requests库:根据关键词自动爬取下载百度图片 1.前言 在上一篇文章urllib使用:根据关键词自动爬取下载百度图片 当中,我们已经分析过了百度图片的搜索URL的变化 ...

最新文章

  1. c语言和c++字符串操作对比
  2. 使用swoole编写简单的echo服务器
  3. C#和Java的对比
  4. HDU2016数据交换
  5. JQuery获取元素的N种方法
  6. H.264中的量化过程
  7. 怎么打开北信源加密u盘_全国首个!北信源?安存推出区块链生态环境监管平台...
  8. 不能执行已经释放掉的Script代码!(已解决)
  9. oracle-单行函数
  10. 【NOI2019】斗主地【期望】【组合数学】【下降幂】【插值】
  11. 优化mysql数据库_MySQL数据库十大优化技巧
  12. 2 数据源配置_Spring, MyBatis 多数据源的配置和管理
  13. 写出更易懂的代码(一)
  14. 系统如何实现权限控制
  15. Java运行准备JDR JRE JVM知识和环境变量的作用
  16. 内网穿透之HTTP穿透
  17. 使用WInDynamicDesktop自定义上传图库生成主题教程
  18. 留在一线,逃离一线?我从上海举家回老家的生活经历告诉你!
  19. GWAS 总体流程理解版
  20. 微信小程序搜索功能系列 一套全

热门文章

  1. 变分自编码器VAE代码
  2. 64位Ubuntu上编译32位程序
  3. 决策树算法(六)——构建决策树
  4. 在linux系统安装R及rstudio
  5. java8日期加本地,日期时间API(JDK8新增)
  6. iMeta | 南科大宋毅组综述逆境胁迫下植物向微生物组求救的遗传基础(附招聘)
  7. 最后1周 | 高级转录组分析和R语言数据可视化第十一期 (报名线上课还可免费参加线下课)...
  8. 还找不到想要的文章吗?公众号搜索方法大全
  9. 16S+功能预测也能发Sciences:尸体降解过程中的微生物组
  10. Python将Pandas中Dataframe数据保存为gzip/zip文件:gzip压缩文件、zip压缩文件