Java 爬虫--类似Python的requests库--HttpClient, HttpAsyncClient--Maven
今天在找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相关推荐
- python中requests库的用途-数据爬虫(三):python中requests库使用方法详解
有些网站访问时必须带有浏览器等信息,如果不传入headers就会报错,如下 使用 Requests 模块,上传文件也是如此简单的,文件的类型会自动进行处理: 因为12306有一个错误证书,我们那它的网 ...
- python基础代码库-python爬虫基础教程:requests库(二)代码实例
get请求 简单使用 import requests ''' 想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载! ''' respons ...
- python爬虫requests库_python爬虫基础教程:requests库(二)代码实例
get请求 简单使用 import requests ''' 想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载! ''' respons ...
- python网络爬虫系列教程——python中requests库应用全解
全栈工程师开发手册 (作者:栾鹏) python教程全解 python中requests库的基础应用,网页数据挖掘的常用库之一.也就是说最主要的功能是从网页抓取数据. 使用前需要先联网安装reques ...
- 手机版python3.6.6的requests库下载_Python爬虫之Python3.6 Requests库的基本使用方法
Python爬虫之Python3.6 Requests库的基本使用方法 未分类 在使用Python过程中,使用http处理各种请求是我们绕不过去的,在Python中开发爬虫用来抓取各种网络上的资源,就 ...
- Python 的 requests 库的用法
Python爬虫利器一之Requests库的用法:http://cuiqingcai.com/2556.html Python利用Requests库写爬虫(一):http://www.jianshu. ...
- python使用requests库爬取淘宝指定商品信息
python使用requests库爬取淘宝指定商品信息 在搜索栏中输入商品 通过F12开发者工具抓包我们知道了商品信息的API,同时发现了商品数据都以json字符串的形式存储在返回的html内 解析u ...
- python使用requests库下载单张图片的简单示例
python使用requests库下载单张图片的简单示例 简要说明 代码示例 简要说明 下载图片的核心代码如下: res = requests.get(url=img_url, headers=hea ...
- python3爬虫系列03之requests库:根据关键词自动爬取下载百度图片
python3爬虫系列03之requests库:根据关键词自动爬取下载百度图片 1.前言 在上一篇文章urllib使用:根据关键词自动爬取下载百度图片 当中,我们已经分析过了百度图片的搜索URL的变化 ...
最新文章
- c语言和c++字符串操作对比
- 使用swoole编写简单的echo服务器
- C#和Java的对比
- HDU2016数据交换
- JQuery获取元素的N种方法
- H.264中的量化过程
- 怎么打开北信源加密u盘_全国首个!北信源?安存推出区块链生态环境监管平台...
- 不能执行已经释放掉的Script代码!(已解决)
- oracle-单行函数
- 【NOI2019】斗主地【期望】【组合数学】【下降幂】【插值】
- 优化mysql数据库_MySQL数据库十大优化技巧
- 2 数据源配置_Spring, MyBatis 多数据源的配置和管理
- 写出更易懂的代码(一)
- 系统如何实现权限控制
- Java运行准备JDR JRE JVM知识和环境变量的作用
- 内网穿透之HTTP穿透
- 使用WInDynamicDesktop自定义上传图库生成主题教程
- 留在一线,逃离一线?我从上海举家回老家的生活经历告诉你!
- GWAS 总体流程理解版
- 微信小程序搜索功能系列 一套全
热门文章
- 变分自编码器VAE代码
- 64位Ubuntu上编译32位程序
- 决策树算法(六)——构建决策树
- 在linux系统安装R及rstudio
- java8日期加本地,日期时间API(JDK8新增)
- iMeta | 南科大宋毅组综述逆境胁迫下植物向微生物组求救的遗传基础(附招聘)
- 最后1周 | 高级转录组分析和R语言数据可视化第十一期 (报名线上课还可免费参加线下课)...
- 还找不到想要的文章吗?公众号搜索方法大全
- 16S+功能预测也能发Sciences:尸体降解过程中的微生物组
- Python将Pandas中Dataframe数据保存为gzip/zip文件:gzip压缩文件、zip压缩文件