2017-07-16 87 views
0

我正在開發一個Android應用程序,它應該跟蹤來自以色列郵政網站的貨物。因爲他們沒有任何api,我試圖通過設置特定的鏈接來操縱網站,並用jsoup解析html,但它不起作用,因爲跟蹤信息是動態加載的。我試着將jsoup和selenium結合起來,但我不確定它可以在android環境中實現,因爲我正在發生構建錯誤,任何人都沒有任何技術或方法來執行此任務?我會非常感激。 trying to capture the info in blue boxandroid web scrapping動態內容jsoup

enter image description here

回答

1

你可以從這個網址讓您的數據: http://www.israelpost.co.il/itemtrace.nsf/trackandtraceNOHEJSON?openagent&lang=EN&itemcode=RR123445677IL

選中此Java代碼:

import com.google.gson.Gson; 
import com.google.gson.annotations.SerializedName; 
import org.jsoup.Connection; 
import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 
import org.jsoup.select.Elements; 

import java.io.IOException; 

public class IsraeliPost { 
    public static void main(String[] args) { 

     String URL = "http://www.israelpost.co.il/itemtrace.nsf/trackandtraceNOHEJSON?openagent&lang=EN&itemcode="; 
     String itemNumber = "RR123445677IL"; 

     try { 
      Connection.Response response = Jsoup.connect(URL + itemNumber) 
        .ignoreContentType(true) 
        .method(Connection.Method.GET) 
        .execute(); 

      String jsonResponse = response.body(); 
      ItemData itemData = new Gson().fromJson(jsonResponse, ItemData.class); 
      String itemCodeInfo = itemData.getItemcodeinfo(); 

      Document document = Jsoup.parse(itemCodeInfo); 

      Elements table = document.select("table").select("tbody"); 

      for (Element raw : table) { 
       Elements tds = raw.select("td"); 
       for (Element td : tds) { 
        System.out.println(td.text()); 

       } 
      } 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

    public class ItemData { 

     @SerializedName("itemcodeinfo") 
     private String mItemcodeinfo; 

     public String getItemcodeinfo() { 
      return mItemcodeinfo; 
     } 
    } 
} 

輸出:

日期郵政單位城市描述30/01/2015 Shikun Memshalti Nahariya 交付給收件人的授權候選人28/01/2015 Shikun Memshalti Nahariya抵達郵政單位發送至 收件人27/01/2015 Jaffo Tel Aviv Yaffo收到郵寄,並被 轉發處理

+0

工程就像一個魅力你剛剛救了我的一天謝謝! –