posts - 59, comments - 244, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          在android中使用jsoup解析頁(yè)面鏈接

          Posted on 2011-03-14 01:35 penngo 閱讀(7185) 評(píng)論(4)  編輯  收藏 所屬分類(lèi): android

          本來(lái)想直接看sdk中的doc文檔來(lái)學(xué)習(xí)android的,結(jié)果發(fā)現(xiàn)里面的英文資料,學(xué)起來(lái)速度有點(diǎn)慢,遂買(mǎi)了本android的教程書(shū)回來(lái)學(xué)習(xí),剛好看到一個(gè)書(shū)里面一個(gè)使用java.net.URL訪問(wèn)網(wǎng)頁(yè)的例子,之前在做采集的時(shí)候,使用了html解析器jsoup來(lái)獲取頁(yè)面所有鏈接,順便試下把jsoup放進(jìn)android中使用下,發(fā)現(xiàn)jsoup在android中能直接使用,測(cè)試?yán)哟a(本文只作了簡(jiǎn)單測(cè)試):
          tt.jsp頁(yè)面

          <%@ 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>
          測(cè)試連接
          <href="http://www.aygfsteel.com/pengo/">penngo的博客</a>
          <href="http://www.aygfsteel.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();
                  }

                  
          /* 將信息設(shè)置到TextView */
                  tv.setText(myString);
                  
                  
          /* 將TextView顯示到屏幕上 */
                  
          this.setContentView(tv);
              }

          }

          運(yùn)行效果:

          本文是在android2.2中開(kāi)發(fā)測(cè)試,jsoup在android上使用和在jdk上使用是一樣,不用改變代碼。

          源碼

          評(píng)論

          # re: 在android中使用jsoup解析頁(yè)面鏈接[未登錄](méi)  回復(fù)  更多評(píng)論   

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

          # re: 在android中使用jsoup解析頁(yè)面鏈接  回復(fù)  更多評(píng)論   

          2014-04-04 09:25 by llll
          這....直接這樣用不會(huì)報(bào)NetworkOnMainThreadException嗎?

          # re: 在android中使用jsoup解析頁(yè)面鏈接  回復(fù)  更多評(píng)論   

          2014-08-03 23:59 by 哈利路鴨
          我也是用jsoup 解析, 但是模擬器上運(yùn)行調(diào)試都顯示正常,就是真機(jī)上安裝后運(yùn)行,發(fā)現(xiàn)TextView 最后顯示不出來(lái)東西!!!!

          # re: 在android中使用jsoup解析頁(yè)面鏈接  回復(fù)  更多評(píng)論   

          2014-12-16 03:35 by backhoe
          @llll
          這可是2.2啊

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 宜都市| 漳州市| 乳源| 正宁县| 沛县| 湖南省| 抚松县| 肃宁县| 望城县| 濉溪县| 利川市| 彝良县| 洛阳市| 台州市| 大庆市| 祁连县| 马龙县| 龙海市| 五指山市| 常德市| 房山区| 西峡县| 呼伦贝尔市| 马鞍山市| 隆化县| 金寨县| 定安县| 东莞市| 武乡县| 铁岭市| 民权县| 浮梁县| 京山县| 手游| 岗巴县| 保山市| 中方县| 凤城市| 沭阳县| 五台县| 伊宁县|