2017-08-01 15 views
0

也許有類似的問題已經被問到,但我找不到可以幫助我的答案。我想從網站(https://www.fcbarcelona.com/football/first-team/schedule)只得到這些信息(在紅場):俱樂部的日期,時間和名稱。我看到有一種方法可以通過json解析來獲取信息,但我不知道這將如何工作。我新來這個,甚至不知道要搜索什麼,我不需要書面代碼只是幫助如何做到這一點。 enter image description here如何從網站獲取特定數據並將其顯示在我的應用中?

回答

0

我們可以通過在webview中加載數據從webview中獲得某些值,您應該在html和javascript中需要一些知識。

  1. 打開瀏覽器,並在頁面上點擊右鍵網站點擊審查元素或檢查(鉻)
  2. 發現你從該網頁所需要的ID /類/標籤

在Android中

webview.loadUrl("javascript:(function() { " + 
    "document.getElementsByClassName('match__main__date__dmy')[0].style.color = 'red'; " + 
    "})()"); 

webview1.setWebViewClient(new WebViewClient() { 
@Override 
public void onPageFinished(WebView view, String url) { 
    super.onPageFinished(view, url); 

    StringBuilder buff = new StringBuilder(); 
    sb.append("document.getElementsByTagName('match__main__date__dmy')[0].onsubmit = function() {"); 
    sb.append(",// create your json ") 
    sb.append("};"); 

    //parse the json to get your desired output 
} 
}); 

使用上面的代碼(需要根據您的需要改變)

enter image description here

+0

的基本知識你知道我是否可以使用firebase數據庫來訪問這些數據。我可以手動將日期和時間放到databse並從應用程序訪問它?那是一種可能性嗎? –

0

我認爲網站不會提供一些API來獲取這些數據。

因此,我建議的方式是HTML Scraping。這可以通過Android上的Java完成。

第一個選項

  • 使用jsoun庫。 HTML解析器

Document document = Jsoup.connect(url).get(); 
Elements matchDate = doc.select("p".first); //<p> tag 

第二個選項




我個人使用jsoun,因爲它更方便和易於使用。當然,所有這些都需要HTML

+0

你知道我是否可以使用firebase數據庫來訪問這些數據。我可以手動將日期和時間放到databse並從應用程序訪問它?那是一種可能性嗎? –

相關問題