网络爬虫框架的搭建以及使用HttpClient抓取解析网页的详细步骤
来源:互联网 发布:python分布式 书籍 编辑:程序博客网 时间:2024/05/10 10:23
我们首先使用eclipse中的导入maven的方法搭建爬虫框架
1.创建如图结构的文件夹(pom.xml文件自行百度创建)
2.导入Existing Maven Project
->生成如图所示项目
使用HttpClient抓取网页
1.首先要配置pom.xml文件,需要将HttpClient包加载进来
->访问www.mvnrepository.com
->搜索HttpClient,找到如图信息
->复制粘贴到pom.xml文件中(注意需要添加一个<dependencies></dependencies>
标签),如图
eclipse工具会帮我们下载好HttpClient包,我们直接导入使用就好
2.我们使用HttpClient发送Get请求,并接受响应,将特定的页面下载。
错误的写法 {
//先创建HttpClient对象CloseableHttpClient httpClient = new HttpClients.createDefault();
这里用这个写法创建HttpClient对象会返回403forbidden,UA字段存在问题,所有我们要对UA字段进行设置,用下面的写法。
}
创建HttpClient对象HttpClientBuilder builder = HttpClients.custom();//设置UA字段,UA标识浏览器身份builder.setUserAgent("Mozilla/5.0(Windows;U;Windows NT 5.1;en-US;rv:0.9.4)");CloseableHttpClient httpclient = builder.build();
//再创建HttpGet对象(url为需要下载网页的地址)HttpGet httpGet = new HttpGet(url);`//执行get请求CloseableHttpResponse response = httpClient.execute(httpGet);`//获得响应实体HttpEntity entity = response.getEntity();String rawHtml = EntityUtils.toString(entity);`//将抓取到的网页打印System.out.println(rawHtml);`
解析抓取到的网页
1.解析网页需要HtmlCleaner包,我们仍旧在pom.xml文件中配置,
点击找到此包的信息复制到<dependencies></dependencies>
标签下
2.实例
//先获取要解析的网页//将抓取的网页传给rawHtmlString rawHtml = page.getRawHtml();//创建cleaner对象HtmlCleaner hc = new HtmlCleaner();//创建树的根标记实例TagNode rootTagNode = hc.clean(rawHtml);//定义要解析的元素或属性String xpath = "//*[@id='h1title']";//执行,获得数组final Object[] objArr = rootTagNode.evaluateXPath(xpath);//输出解析结果if (objArr!=null) { for (Object obj : objArr) { if(obj instanceof TagNode) { TagNode node = (TagNode)obj; System.out.println(node.getText().toString()); } } }
XPath是一门在XML文档中查找信息的语言,在XML文档中对元素和属性遍历,xpath的书写格式可以自己找一下教程。
1 0
- 网络爬虫框架的搭建以及使用HttpClient抓取解析网页的详细步骤
- 网络爬虫--如何抓取html页面和httpClient的使用
- 网页爬虫,HttpClient+Jericho HTML Parser 实现网页的抓取
- 【网络爬虫】HttpClient抓取+解析+存储数据
- 关于使用httpclient类库写的爬虫抓取网页时返回403错误
- android 开发--抓取网页解析网页内容的若干方法(网络爬虫)(正则表达式)
- 网络爬虫之httpclient的使用
- 转载自android 开发--抓取网页解析网页内容的若干方法(网络爬虫)(正则表达式)
- Struts2 框架的详细搭建步骤
- weibo爬虫计划,以及普适爬虫框架的搭建
- HttpClient的使用步骤
- HttpClient的使用步骤
- HttpClient抓取网页返回乱码的解决办法
- 使用HttpClient做的一个简单的网络爬虫
- java抓取网页 --- 网络爬虫
- 网络爬虫之网页抓取
- scrapy:python下的网页抓取及解析框架
- Java网络爬虫(一)--HttpClient的使用
- 深度学习Matlab工具箱代码注释
- catalog中的toolbox工具报权限不足
- 【JAVA】37、关于private的补充说明
- 对ORACLE数据库进行操作
- 架构师面试总结
- 网络爬虫框架的搭建以及使用HttpClient抓取解析网页的详细步骤
- ButterKnife的用法讲解
- C++11 智能指针
- 杭电Problem 1276 士兵队列训练问题
- Oracle用SQL语句解析XML
- Java 按位与(&)和短路与(&&)按位或(|)和短路或(||)的区别总结
- Service的用法
- C和C++ const的声明差异
- java SE基础(多线程)