来源:自学PHP网 时间:2015-04-14 14:51 作者: 阅读:次
[导读] 在前面介绍了使用Jsoup解析html,Jsoup也比较强大和方便,不过需要使用第三方包,在只需解析html很少内容的时候,可以考虑用正则表达式查找匹配的内容,下面给一个简单例子,爬取页...
在前面介绍了使用Jsoup解析html,Jsoup也比较强大和方便,不过需要使用第三方包,在只需解析html很少内容的时候,可以考虑用正则表达式查找匹配的内容,下面给一个简单例子,爬取页面中的title标签的文本内容,代码如下: package com.home.parsehtml; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.regex.Matcher; import java.util.regex.Pattern; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity implements OnClickListener { private Button btn; private static final String URL_STR = "http://vip.astro.sina.com.cn/iframe/astro/view/aries/day/"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn = (Button) findViewById(R.id.main_btn); btn.setOnClickListener(this); } @Override public void onClick(View v) { if (v == btn) { new Thread(r).start(); } } Runnable r = new Runnable() { @Override public void run() { String content = getHtmlContent(); doParse(content); } }; /** * 读取html * * @return */ protected String getHtmlContent() { StringBuffer sb = new StringBuffer(); BufferedReader br = null; try { URL url = new URL(URL_STR); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); br = new BufferedReader(new InputStreamReader( conn.getInputStream(), "utf-8")); String temp; while ((temp = br.readLine()) != null) { sb.append(temp).append("\n"); } } catch (Exception e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } return sb.toString(); } /** * 使用正则抽取title标签内容 * * @param content */ protected void doParse(String content) { // 匹配
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com