从android中的站点获取特定内容

时间:2011-10-02 00:02:45

标签: java android http-get

所以我正在开发跟踪和跟踪应用程序。 我需要从这个网站提取信息: http://www.postdanmark.dk/tracktrace/TrackTrace.do?i_stregkode=RA076673982CN

我的问题是我不知道如何挑选这部分:

  1. 2011年9月09:47 Ankommet直到DANMARK
  2. 2011年9月07:17 Ankommet til omdeling 6710 Esbjerg V Posthus
  3. 2011年9月11:57 Udleveret til privat
  4. 只有那一部分。

    这是我下载整个html页面的代码:

    try {
            HttpClient client = new DefaultHttpClient();  
            String getURL = "http://www.postdanmark.dk/tracktrace/TrackTrace.do?i_stregkode=RA076673982CN";
            HttpGet get = new HttpGet(getURL);
            HttpResponse responseGet = client.execute(get);  
            HttpEntity resEntityGet = responseGet.getEntity();  
            if (resEntityGet != null) {  
                        //do something with the response
                        Log.i("GET RESPONSE",EntityUtils.toString(resEntityGet));
                    }
    } catch (Exception e) {
        e.printStackTrace();
    }
    

    我查看了几个链接,我似乎无法找到任何显示如何获取某个html网站的某个部分,如:

    <tbody>  
    
    <tr> 
    <td valign="top">19. september 2011</td>
    <td valign="top">09:47</td>
    <td valign="top">Ankommet til DANMARK</td>
    </tr>
    
    <tr> 
    <td valign="top">20. september 2011</td>
    
    <td valign="top">07:17</td>
    <td valign="top">Ankommet til omdeling 6710 Esbjerg V Posthus</td>
    </tr>
    
    <tr> 
    <td valign="top">20. september 2011</td>
    <td valign="top">11:57</td>
    <td valign="top">Udleveret til privat</td>
    
    </tr>
    
    </tbody>
    

    我需要我的解析器来获取该部分,但我还没有找到或理解如何:(

    你们有谁能告诉我一个如何做的例子吗? : - /

2 个答案:

答案 0 :(得分:1)

您需要解析HTML并使用TagSoup / etc之类的东西提取您想要的数据。 (不确定这是否适用于Android)。您可以尝试使用正则表达式将其拉出来,但是......

RegEx match open tags except XHTML self-contained tags

答案 1 :(得分:0)

尝试使用sax解析器

http://developer.android.com/reference/javax/xml/parsers/SAXParser.html

您只需向网站页面输入一个输入流,然后就可以选择要保留的标记

这是一个例子:

http://about-android.blogspot.com/2010/02/sample-saxparser-in-android.html