在android中使用jsoup解析页面链接,androidjsoup
投稿于 被查看 23293 次 评论:249
在android中使用jsoup解析页面链接,androidjsoup
本来想直接看sdk中的doc文档来学习android的,结果发现里面的英文资料,学起来速度有点慢,遂买了本android的教程书回来学习,刚好看到一个书里面一个使用java.net.URL访问网页的例子,之前在做采集的时候,使用了html解析器jsoup来获取页面所有链接,顺便试下把jsoup放进android中使用下,发现jsoup在android中能直接使用,测试例子代码(本文只作了简单测试):tt.jsp页面
http://www.blogjava.net/pengo/archive/2011/03/14/346176.html
1.[HTML]代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> 测试连接 <a href="http://www.blogjava.net/pengo/">penngo的博客</a> <a href="http://www.blogjava.net/">blogjava博客</a> </body> </html>
2.Activity01.java
import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class Activity01 extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView tv = new TextView(this); String myString = null; StringBuffer sff = new StringBuffer(); try { Document doc = Jsoup.connect("http://192.168.64.9:8099/AgentJava/tt.jsp").get(); Elements links = doc.select("a[href]"); for(Element link : links){ sff.append(link.attr("abs:href")).append(" ").append(link.text()).append("\n"); } myString = sff.toString(); } catch (Exception e) { myString = e.getMessage(); e.printStackTrace(); } /* 将信息设置到TextView */ tv.setText(myString); /* 将TextView显示到屏幕上 */ this.setContentView(tv); } }
用户评论