- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
八爪鱼·云采集网络爬虫软件
八爪鱼·云采集网络爬虫软件
java网络爬虫如何实现
在万物互联的时代,互联网上有着大量的数据,如电商类网站的商品基础信息、商品评论等;微博信息、知乎问答、微信公众号文章等;获取并分析这些数据,有利于商家快速掌握消费者动向,把握新闻舆论,洞悉市场先机,从而改善自己的产品和服务,提升自己的市场份额。而如何简单高效的获取到这些数据呢?爬虫是一个比较常见的方法。
爬虫的原理很简单,就是通过编写程序访问互联网,然后将数据保存到本地电脑中。众所周知,互联网提供的服务大部分都是以网站的形式提供的。爬虫和我们手工将在网站上看到的数据复制粘贴下来是类似的,只是手工复制效率低,获取到的数据量也十分有限。所以,我们需要借助工具来获取大量的网站数据。Java也是爬虫语言的一种,下面就以一些具体实例为大家介绍java网络爬虫是如何实现的。
1、使用HttpClient简单抓取网页
首先,假设我们需要爬取数据学习网站上第一页的博客( HYPERLINK /blog \t /darticle/details/_blank /blog )。首先,我们需要使用导入HttpClient 4.5.3这个包(这是目前最新的包,你可以根据需要使用其他的版本)。
Java本身提供了关于网络访问的包,在中,然后它不够强大。于是Apache基金会发布了开源的http请求的包,即HttpClient,这个包提供了非常多的网络访问的功能。在这里,我们也是使用这个包来编写爬虫。好了,使用pom.xml下载完这个包之后我们就可以开始编写我们的第一个爬虫例子了。其代码如下(注意,我们的程序是建立在test包下面的,因此,需要在这个包下才能运行):
package test;
import org.apache.http.HttpEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.util.EntityUtils;
import java.io.IOException;
/**
* 第一个爬虫测试
* Created by DuFei on 2017/7/27.
*/public class FirstTest {
public static void main(String[] args) {
//建立一个新的请求客户端
CloseableHttpClient httpClient = HttpClients.createDefault();
//使用HttpGet方式请求网址
HttpGet httpGet = new HttpGet(/blog);
//获取网址的返回结果
CloseableHttpResponse response = null;
try {
response = httpClient.execute(httpGet);
} catch (IOException e) {
e.printStackTrace();
}
//获取返回结果中的实体
HttpEntity entity = response.getEntity();
//将返回的实体输出
try {
System.out.println(EntityUtils.toString(entity));
EntityUtils.consume(entity);
} catch (IOException e) {
e.printStackTrace();
}
}
}
如上面的代码所示,爬虫的第一步需要构建一个客户端,即请求端,我们这里使用CloseableHttpClient作为我们的请求端,然后确定使用哪种方式请求什么网址,再然后使用HttpResponse获取请求的地址对应的结果即可。最后取出HttpEntity转换一下就可以得到我们请求的网址对应的内容了。上述程序对应的输出如下图所示:
显然,这就是我们需要的网址对应的页面的源代码。于是我们的第一个爬虫就成功的将网门需要的页面的内容下载下来了。
2、HttpClient的详细使用
在上篇
您可能关注的文档
- 【人教版】五年级语文上册 8.小桥流水人家.ppt
- 4.田家四季歌(最新版).ppt
- 1.1小学科学二年级上--《地球家园中有什么》.ppt
- 6.2共筑生命家园.ppt
- 8.1(上课)《国家财政》课件2018.ppt
- 4.田家四季歌.ppt
- 2004_FMT technology - 衰落消除技术的介绍.pdf
- 2017发热待查诊治专家共识.ppt
- 8.小桥流水人家--完美版.ppt
- 2018.9小学五年级家长会.ppt
- 中国国家标准 GB/T 32857-2025保护层分析(LOPA)应用导则.pdf
- 《GB/T 32857-2025保护层分析(LOPA)应用导则》.pdf
- GB/T 20736-2025传动用精密滚子链和板式链疲劳试验方法.pdf
- 《GB/T 20736-2025传动用精密滚子链和板式链疲劳试验方法》.pdf
- 中国国家标准 GB/T 20736-2025传动用精密滚子链和板式链疲劳试验方法.pdf
- 2026年毛概期末考试试题库附参考答案(研优卷).docx
- 2026广东省四会市教育局赴高校招聘教师98人(第一轮)备考题库附答案.docx
- 2026年重庆青年职业技术学院单招(计算机)测试模拟题库附答案.docx
- 2026年黑龙江三江美术职业学院单招(计算机)考试参考题库推荐.docx
- 2025年浙商银行嘉兴分行四季度社会招聘备考题库附答案.docx
最近下载
- 常用急救药品相关知识测试题库含答案.docx VIP
- 黔东南州2023年秋季学期六年级期末质量监测道德与法治试卷.docx VIP
- 广东省广州市增城中学2024-2025学年九年级上学期期末物理试卷(含答案).pdf VIP
- 电信工程样板施工方案.doc VIP
- 美世3P薪酬的体系的设计培训.ppt VIP
- 高二英语第一次月考卷01(全解全析(全国通用版)).docx VIP
- JC∕T 2550-2019 泡沫混凝土自保温砌块.docx VIP
- 人工智能在建筑施工中的实践与展望.pdf
- DBJ_T13-191-2014:温拌沥青混合料路面施工技术规程.pdf VIP
- 发热患者的护理(课件PPT).pptx VIP
原创力文档


文档评论(0)