`
you_java
  • 浏览: 96527 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

HttpClient根据jsoup解析网页

    博客分类:
  • java
阅读更多

package jsoup;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

/**
 * 利用HttpClient获取html代码,然后使用jsoup对html代码进行解析
 * @author Administrator
 *
 */
public class JustTest {
	public static void main(String[] args) {
		String html = getHtmlByUrl("http://www.iteye.com/");
		if (html != null && !"".equals(html)) {
			Document doc = Jsoup.parse(html);
			Elements linksElements = doc
					.select("div#page>div#content>div#main>div.left>div#recommend>ul>li>a");
			// 以上代码的意思是 找id为“page”的div里面 id为“content”的div里面 id为“main”的div里面
			// class为“left”的div里面 id为“recommend”的div里面ul里面li里面a标签
			for (Element ele : linksElements) {
				String href = ele.attr("href");
				String title = ele.text();
				System.out.println(href + "," + title);
			}
		}
	}

	/**
	 * 根据URL获得所有的html信息
	 * 
	 * @param url
	 * @return
	 */
	public static String getHtmlByUrl(String url) {
		String html = null;
		HttpClient httpClient = new DefaultHttpClient();// 创建httpClient对象
		HttpGet httpget = new HttpGet(url);// 以get方式请求该URL
		try {
			HttpResponse responce = httpClient.execute(httpget);// 得到responce对象
			int resStatu = responce.getStatusLine().getStatusCode();// 返回码
			if (resStatu == HttpStatus.SC_OK) {// 200正常 其他就不对
				// 获得相应实体
				HttpEntity entity = responce.getEntity();
				if (entity != null) {
					html = EntityUtils.toString(entity);// 获得html源代码
					System.out.println(html);
				}
			}
		} catch (Exception e) {
			System.out.println("访问【" + url + "】出现异常!");
			e.printStackTrace();
		} finally {
			httpClient.getConnectionManager().shutdown();
		}
		return html;
	}
}
 
分享到:
评论

相关推荐

    httpClient+jsoup 抓取网页数据

    在"网易贵金属"的例子中,你可能需要使用HttpClient发送GET请求到网易贵金属的页面,然后使用Jsoup解析返回的HTML,找到包含贵金属价格、新闻等信息的部分,从而实现数据抓取。实际操作时,可能还需要考虑登录、分页...

    httpClient采集jsoup解析

    例如,如果你想要抓取一个新闻网站的最新文章标题,可以先使用HttpClient发送请求获取网页源码,再用Jsoup解析HTML,找到包含文章标题的元素: ```java CloseableHttpClient httpClient = HttpClients.create...

    httpClient+jsoup抓取网页数据实例和jar包

    以下是一个简单的示例,展示如何使用HttpClient获取网页内容,然后用Jsoup解析: ```java import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache....

    爬虫:httpclient+jsoup

    在IT领域,网络爬虫是一种自动化程序,用于从...总之,HttpClient和Jsoup是Java爬虫开发中的两个强大工具,它们结合使用能有效地抓取和解析网页信息。理解它们的工作原理和用法,对于构建高效的网络爬虫至关重要。

    HttpClient和jsoup架包

    首先,HttpClient发送HTTP请求获取网页源代码,然后Jsoup解析这个源代码,从中提取所需的数据。这种方式对于需要登录、处理表单或者需要处理JavaScript动态生成内容的网站尤为有用。 在压缩包中的"jsoup-1.8.1.jar...

    httpClient和jsoup整合,支持 HTTP 协议的客户端编程工具包

    以下是一个简单的整合示例,展示了如何使用HttpClient发起HTTP请求,并用Jsoup解析返回的HTML内容: ```java import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; ...

    HttpClient + Jsoup 模拟登陆,解析HTML,信息筛选(广工图书馆)

    接着用Jsoup解析HTML,筛选出需要的信息,比如图书列表、借阅记录等。 在实际应用中,需要注意以下几点: - **处理重定向**:HttpClient允许我们配置是否跟随重定向,有时服务器在登录成功后会返回302重定向。 - ...

    HttpClient Jsoup爬取天气预报

    这篇博客“HttpClient Jsoup爬取天气预报”可能讲述了如何结合这两者来获取并解析网页上的天气预报信息。 首先,HttpClient允许开发者发送各种HTTP请求(如GET、POST等)到服务器,并接收响应。在爬虫应用中,通常...

    基于SSM+maven+httpClient+jsoup实现小说网站项目.zip

    在这个项目中,开发者使用了Spring、SpringMVC和MyBatis(简称SSM)作为主要的后端框架,结合maven进行项目管理和依赖管理,同时利用httpClient进行网络请求,通过jsoup解析网页内容,实现了对小说数据的抓取和处理...

    HttpClient ,jsoup和 HtmlParser ,htmllexer实现简易爬虫用到的jar包

    在爬虫项目中,jsoup是解析网页内容、提取结构化数据的关键工具,它可以高效地抓取和处理网页中的链接、文本、图片等信息。 HtmlParser和htmllexer是两个用于解析HTML的库,它们主要用于低级别的HTML解析。...

    基于SSM+maven+httpClient+jsoup实现的java爬虫项目,一个完整的小说网站.zip

    - 解析HTML:利用jsoup解析HTML,提取出需要的数据,如章节链接、标题、内容等。 - 存储数据:将提取到的数据存储到本地文件、数据库或其他持久化介质中。 - 遍历网页:如果网站有多个章节,爬虫会递归地访问每个...

    使用HttpClient 和 jsoup 下载 Google logo

    Google的logo,感觉设计的很好,最近看了java的jsoup(html 解析器)把Google的logo全部下载下来,另外,在Google logos页面发现都是英文的,通过利用Google翻译api对logo说明进行翻译,最终把图片信息以及翻译结果...

    jsoup+httpclient+jar包

    5. **使用JSoup解析HTML**:将响应体的字符串传递给JSoup的parse方法,得到Document对象。 6. **数据提取**:使用JSoup的select方法通过CSS选择器定位元素,或者使用getElementById、getElementsByTag等方法提取...

    Java爬虫【一篇文章精通系列-案例开发-巨细】HttpClient5 + jsoup + WebMagic + spider

    本篇文章以"一篇文章精通系列-案例开发-巨细"为主题,详细介绍了如何使用HttpClient5、jsoup、WebMagic以及spider-flow这四个关键工具来构建一个强大的Java爬虫系统。以下是对这些工具和技术的深入解析。 首先,...

    Jsoup解析Html获取新闻列表

    在本文中,我们将深入探讨如何利用Jsoup解析HTML,以便获取新闻列表等网页数据。首先,让我们了解Jsoup的基本用法,然后通过实例演示如何从一个HTML页面中提取新闻列表。 1. **Jsoup简介** - Jsoup是由Jonathon ...

    jsoup httpclient 爬取网页并下载google图标

    总结来说,这个项目或教程涉及使用Jsoup解析和抓取网页,用HttpClient下载资源,同时利用Apache Commons库增强功能,提供了一种综合运用Java网络编程技术的实例。在实际开发中,这样的技术可以广泛应用于数据抓取、...

    Java爬虫Jsoup+httpclient获取动态生成的数据

    本文主要讲述如何利用Java编程语言中的Jsoup库和HttpClient工具包来获取和解析动态生成的数据,特别是那些通过JavaScript动态加载的数据。 ### Java爬虫基础 Java爬虫是指使用Java语言编写的一类程序,这些程序...

    jsoup+httpclient j简单爬虫

    JSoup 将网页内容解析为一个复杂的 DOM 树结构,使得开发者可以通过 CSS 选择器或者直接的节点遍历来查找、提取和修改数据。 例如,要从一个网页中抓取所有的段落(`<p>` 标签),你可以使用以下 JSoup 代码: ```...

Global site tag (gtag.js) - Google Analytics