<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 59, comments - 244, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    在android中使用jsoup解析頁面鏈接

    Posted on 2011-03-14 01:35 penngo 閱讀(7192) 評論(4)  編輯  收藏 所屬分類: android

    本來想直接看sdk中的doc文檔來學習android的,結果發現里面的英文資料,學起來速度有點慢,遂買了本android的教程書回來學習,剛好看到一個書里面一個使用java.net.URL訪問網頁的例子,之前在做采集的時候,使用了html解析器jsoup來獲取頁面所有鏈接,順便試下把jsoup放進android中使用下,發現jsoup在android中能直接使用,測試例子代碼(本文只作了簡單測試):
    tt.jsp頁面

    <%@ 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>
    測試連接
    <href="http://m.tkk7.com/pengo/">penngo的博客</a>
    <href="http://m.tkk7.com/">blogjava博客</a>
    </body>
    </html>


    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);
        }

    }

    運行效果:

    本文是在android2.2中開發測試,jsoup在android上使用和在jdk上使用是一樣,不用改變代碼。

    源碼

    評論

    # re: 在android中使用jsoup解析頁面鏈接[未登錄]  回復  更多評論   

    2011-06-22 22:47 by aaa
    在android 上解析HTML太慢了。SAX接口的能比較快點。
    tagsoup如何

    # re: 在android中使用jsoup解析頁面鏈接  回復  更多評論   

    2014-04-04 09:25 by llll
    這....直接這樣用不會報NetworkOnMainThreadException嗎?

    # re: 在android中使用jsoup解析頁面鏈接  回復  更多評論   

    2014-08-03 23:59 by 哈利路鴨
    我也是用jsoup 解析, 但是模擬器上運行調試都顯示正常,就是真機上安裝后運行,發現TextView 最后顯示不出來東西!!!!

    # re: 在android中使用jsoup解析頁面鏈接  回復  更多評論   

    2014-12-16 03:35 by backhoe
    @llll
    這可是2.2啊
    主站蜘蛛池模板: 亚洲偷偷自拍高清| 亚洲va中文字幕无码久久| 中国国产高清免费av片| 亚洲日韩av无码中文| 国产亚洲一区二区精品| 一二三四免费观看在线视频中文版| 一本岛v免费不卡一二三区| 亚洲人色大成年网站在线观看| 日韩精品电影一区亚洲| 国产成人免费爽爽爽视频| 久久国产乱子免费精品| 亚洲AV无码久久精品狠狠爱浪潮| 国产无限免费观看黄网站| 久久综合亚洲色hezyo| 亚洲国产精品线观看不卡| 亚洲天堂中文字幕| 亚洲乱码精品久久久久..| 亚洲男同帅GAY片在线观看| 亚洲性日韩精品一区二区三区 | 永久免费AV无码网站在线观看 | 亚洲精品伦理熟女国产一区二区| 久久久久亚洲精品无码蜜桃| 亚洲AV日韩AV永久无码久久| 亚洲精品少妇30p| 亚洲精选在线观看| 久久亚洲日韩看片无码| 亚洲人成网站在线观看播放动漫 | 永久免费毛片手机版在线看| 日韩免费视频播播| 亚洲一区日韩高清中文字幕亚洲| 亚洲精品无码久久久| 久久被窝电影亚洲爽爽爽| 亚洲欧洲自拍拍偷综合| 亚洲第一第二第三第四第五第六| 亚洲精品无播放器在线播放| 久久国产精品免费网站| 18女人毛片水真多免费| 日本免费福利视频| 亚洲网站在线观看| 精品国产亚洲第一区二区三区 | 亚洲精品国产成人专区|