`
z303729470
  • 浏览: 134108 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android 用 HttpClient 抓取 html 页面内容的方法

 
阅读更多
private String getHtmlContent(final String url) {       
	String result = "";// 返回的结果       
StringBuffer resultBuffer = new StringBuffer();        
// 构造HttpClient的实例        
HttpClient httpClient = new HttpClient();         
// 创建GET方法的实例      
GetMethod getMethod = new GetMethod(url);        
// 使用系统提供的默认的恢复策略        
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,                
new DefaultHttpMethodRetryHandler());      
// getMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"GB2312");       
getMethod.getParams().setContentCharset("GB2312");         
try {             // 执行getMethod        
	int statusCode = httpClient.executeMethod(getMethod);            
	if (statusCode != HttpStatus.SC_OK) {                
System.err.println("Method failed: "+ getMethod.getStatusLine());             }     
// 流式读取          
// 读取内容          
// byte[] responseBody = getMethod.getResponseBody();        
// 处理内容            
// String result = new String(responseBody,"GBK");            
// result = getMethod.getResponseBodyAsString();            
// System.out.println(result);           
// System.out.println(getMethod.getResponseCharSet());           
// 推荐做法           
BufferedReader in = new BufferedReader(new InputStreamReader(                 
getMethod.getResponseBodyAsStream(), getMethod.getResponseCharSet()));   
String inputLine = null;     
while ((inputLine = in.readLine()) != null) {                
	resultBuffer.append(inputLine);     
	resultBuffer.append("\n");      
	}     
result = new String(resultBuffer);        
return result;         
} catch (HttpException e) {        
	// 发生致命的异常,可能是协议不对或者返回的内容有问题          
	System.out.println("Please check your provided http address!");      
	e.printStackTrace();       
	} catch (IOException e) {      
	// 发生网络异常           
		e.printStackTrace();       
		} finally {            
	// 释放连接             
			getMethod.releaseConnection();      
			}        
return result;    
}
}


http://nwhy.org/android-httpclient-gethtmlcontent.html
分享到:
评论

相关推荐

    android AppWidgetProvider httpclient 扒取网页

    如果开发者想要在AppWidget中直接展示网页内容,他们可能原本打算或在其他地方使用了WebView来显示从sgs.sgamer.com抓取的新闻页面。 `Notification`是Android系统提供的一种机制,它允许应用在状态栏中显示提醒...

    Android HttpClient源码

    在这个"Android HttpClient源码"中,我们可以深入理解其内部工作原理,并学习如何在Android应用中有效地使用它。 首先,HttpClient的核心类是`HttpClient`,它是整个HTTP客户端操作的管理者。通过`HttpClient`,...

    Android例子源码使用HttpClient获取网页html源代码.zip

    这两种方法都是Android SDK内置的网络访问库,但HttpClient已经在Android 6.0(API级别23)之后被弃用,而URLConnection仍然是推荐的网络访问方式。 1. **HttpClient**: HttpClient是Apache HTTP Components库的一...

    使用HttpClient获取网页html源代码.zip

    在Android开发中,有时我们需要从网络上获取网页的HTML源代码,以便进行数据抓取或者模拟用户交互。HttpClient是Java中一个常用的HTTP客户端库,它允许我们方便地发送HTTP请求并接收响应。在这个名为"使用HttpClient...

    Android获取网页内容(HTTP)

    在Android开发中,获取网页内容是一项常见的任务,特别是在构建网络应用或者进行数据抓取时。本教程将聚焦于如何在Android应用中通过HTTP请求获取网页内容,并使用Jsoup库解析HTML,最后将查询结果显示在ListView中...

    Android开发简单获取网页数据

    然而,`HttpClient`已被弃用,从Android 6.0开始,推荐使用`HttpURLConnection`或第三方库如OkHttp。`HttpURLConnection`是Java的标准库,它的使用相对简单且更高效: ```java import java.io.BufferedReader; ...

    网页抓取教程.zip

    10. **Android应用中的网页抓取**:在Android环境中,可以使用OkHttp等库进行网络请求,结合Jsoup解析网页。同时,考虑到移动设备的资源限制,优化抓取和数据处理过程显得尤为重要。 通过这个教程,初学者将掌握...

    使用HttpClient获取网页html源代码

    在Android开发中,有时我们需要从网络上获取网页的HTML源代码,以便进行数据抓取或者分析。HttpClient是一个常用的Java库,适用于实现HTTP客户端功能,它也被广泛应用在Android中。本篇将详细介绍如何使用HttpClient...

    HttpGet.rar_Android httpget_HttpGet android_android_httpget_http

    在这个项目"HttpGet.rar_Android httpget_HttpGet android_android_httpget_http"中,我们将探讨如何在Android应用程序中使用`HttpGet`来抓取并下载远程页面的内容。 首先,理解HTTP协议的基础至关重要。HTTP(超...

    Android抓取CSDN首页极客头条内容完整实例

    描述中提到的知识点包括了在Android平台使用Apache HttpClient库发起GET请求获取网页内容,利用异步请求处理确保应用的响应性,以及使用正则表达式来提取网页中的特定信息。描述还强调了正则表达式对于抓取网页数据...

    【Android+OkHttp3+Jsoup】 模拟登录教务系统 抓取课表和成绩(Eclipse版)

    在抓取课表和成绩信息时,我们首先需要发送请求获取网页内容,然后使用Jsoup解析HTML,找到存放这些信息的特定标签或属性,提取出我们需要的数据。 在项目中,Constants.java文件扮演了关键角色。它通常包含常量...

    Andriod连接URL并返回HTML源码DEMO

    在Android开发中,连接URL并获取HTML源码是常见的需求,比如用于网页抓取、网络数据解析等场景。本文将详细讲解如何在Android应用中实现这个功能,主要涉及URL连接和HTML源码解析两个核心知识点。 首先,Android...

    Android 爬取学校内网数据.zip

    在本项目"Android 爬取学校内网数据.zip"中,主要涉及的是使用Android平台进行网络数据抓取,特别是针对学校内网的数据。这里的关键技术是Jsoup库,一个强大的Java库,用于处理和解析HTML。以下是关于这个主题的详细...

    netWworkTest

    在"netWworkTest"项目中,开发者可能结合了Jsoup和HttpClient的优点,首先使用HttpClient进行网络请求,获取到HTML页面内容,然后通过Jsoup解析并提取所需的数据。这样的组合方式既充分利用了HttpClient的网络请求...

    爬虫 登陆 知乎 android java

    本话题主要探讨的是如何使用Java语言,在Android平台上实现一个能够登录知乎的网络爬虫。以下将详细解析这一过程中的关键知识点: 1. **网络爬虫基础**:网络爬虫是一种自动遍历网页并抓取信息的程序。它们通过模拟...

    AndroidHTMLParser

    而Apache HttpClient则是一个网络通信库,可以用来抓取网页内容,然后通过其他的解析工具处理。 "AndroidHTMLParser"可能是这样一个专为Android定制的HTML解析库,它可能已经去除了不适用的部分,提高了运行效率和...

    android-annotatedsql-api-1.8.0.zip

    4. **网络爬虫**:网络爬虫是一种自动遍历互联网并抓取网页内容的程序。基本工作流程包括请求网页、解析HTML、提取有用信息、存储数据等步骤。这个Java 1.6爬虫项目可能使用了HTTP客户端库(如HttpURLConnection或...

    jsoup-1.6.2.jar

    6. **HTTP请求**:虽然Jsoup本身并不直接支持HTTP请求,但可以与其他HTTP库结合使用,如HttpURLConnection或Apache HttpClient,来获取网页内容,然后用Jsoup进行解析。 **使用示例:** ```java import org.jsoup....

    c#网络爬虫程序设计.zip

    例如,我们可以创建一个HttpClient实例,设置请求头,然后使用GetAsync方法获取响应。响应内容通常为HTML,我们可以使用HtmlAgilityPack库解析HTML,这个库提供了强大的DOM操作功能,可以方便地定位并提取所需数据。...

Global site tag (gtag.js) - Google Analytics