iT邦幫忙

1

請問要如何從網頁取資料,要開發Android App

最近想要寫個APP,自己要用的
想要取
95無鉛的價格http://new.cpc.com.tw/Home/
台幣對美元、台幣對人民幣的匯率http://rate.bot.com.tw/Pages/Static/UIP003.zh-TW.htm
我希望可以作到每日自動變動
請問有沒有相關程式碼可用的呢
謝謝

PS.我只要我要的部分,因為是我自己要用的,如:92無鉛我從不用,就不用抓這種資料

看更多先前的討論...收起先前的討論...
peter109 iT邦新手 4 級 ‧ 2016-05-27 09:15:52 檢舉
我從記事本複制過來,排版就亂了,修正一下
95無鉛的價格http://new.cpc.com.tw/Home/
台幣對美元、台幣對人民幣的匯率http://rate.bot.com.tw/Pages/Static/UIP003.zh-TW.htm
peter109 iT邦新手 4 級 ‧ 2016-05-27 12:12:47 檢舉
補充說明一下
我只是要讓手機APP可以顯示我要的資訊
用不著看不必要的資訊
魯大 iT邦高手 1 級 ‧ 2016-05-27 14:22:33 檢舉
記得以前在寫程式時,有做過類似的程式
方法是直接讀取網頁的原始碼,也就是直接讀取html的內容
然後,再去尋找並截取你要的資訊
剛看了一下,你要的95無鉛價格,應該用此方式可成
至於手機APP怎麼寫,靠你個人去研究吧
peter109 iT邦新手 4 級 ‧ 2016-05-27 15:28:46 檢舉
謝謝提供方式
0
fillano
iT邦超人 1 級 ‧ 2016-05-27 11:43:44
最佳解答

參考Sam的答案補充一下,以你的需求,要省錢的話,其實可以做到幾乎不需要去租用伺服器。

不過你至少要有一台電腦,可以連上網際網路,而且隨時開機。

方法:
把爬蟲跟產出結果的程式,在你的電腦上開發好,透過scheduler每天定時執行。然後把結果輸出後,透過Amazon API上傳到Amazon S3。要使用資料,就直接去S3拿。(透過https)

S3只跟你算頻寬費用,每個月可能還不到$1 USD。

看更多先前的回應...收起先前的回應...
peter109 iT邦新手 4 級 ‧ 2016-05-27 12:10:36 檢舉

謝謝!
請教一下
網路上已經有顯示資料(如我所說的95無鉛)
為什麼手機APP,沒辦法直接取呢?

fillano iT邦超人 1 級 ‧ 2016-05-27 13:22:18 檢舉

先確定一下,你用什麼來開發?原生的Android?WebView Based的架構,例如PhoneGap?你怎麼讀取這些資源?

peter109 iT邦新手 4 級 ‧ 2016-05-27 13:38:31 檢舉

我只會用eclipse 用JAVA語言
你說的那些我都沒用過

我只是很單純的要讓自己方便
可以很容易的讀到我要的價格

fillano iT邦超人 1 級 ‧ 2016-05-27 13:58:26 檢舉

所以是原生的Android App...那問題在哪裡?用App抓不到網頁內容?還是捉到網頁內容後不知道怎麼處理?

peter109 iT邦新手 4 級 ‧ 2016-05-27 15:27:59 檢舉

不知道如下手寫程式
希望有程式碼來參考
謝謝

weiclin iT邦高手 7 級 ‧ 2016-05-27 16:20:23 檢舉

就把 html 下載回來之後用字串處理的方式把你要的資料抓出來呀..

peter109 iT邦新手 4 級 ‧ 2016-05-27 17:30:14 檢舉

了解,謝謝!我試看看

2
Samと可樂快跑
iT邦研究生 3 級 ‧ 2016-05-27 09:52:18

自己先用php、asp、jsp或是node.js這些後端程式去抓取資料。
把資料分析後存入資料庫。
再讓android去取資料庫的這些資料。

不太建議把分析什麼的資料寫在android再來處理。
重點是你有了這樣的資料。
不管你是要web、android、ios or more……
就能夠很單純的讀取資料。

結論:你還是得要有一個伺服器。

peter109 iT邦新手 4 級 ‧ 2016-05-27 12:07:09 檢舉

可以簡化嗎
這個東西只是我要用
一天看個一、兩次
沒辦法直接取網頁上的資料嗎
謝謝

1
q00153
iT邦新手 5 級 ‧ 2016-05-27 11:30:32

可以用 iMacros 做網頁自動化,
俺做網路爬蟲有時候會搭配它使用,
蠻不錯的,
個人的話不需要架設伺服器也可以~

他是像以前的按鍵精靈一樣,
開啟網頁->錄製巨集->定時執行~

教學可以 Google 一下,網路上很多~
它有收費版跟免費版的,基本上免費版就很夠用了。

peter109 iT邦新手 4 級 ‧ 2016-05-27 12:08:00 檢舉

iMacros
我研究一下
謝謝

q00153 iT邦新手 5 級 ‧ 2016-05-27 13:19:56 檢舉

XD 之前沒看清楚,如果要開發 Android App 可以取得網頁資料,可參考以下網址。

http://stackoverflow.com/questions/13682742/how-to-send-curl-in-android-to-rest-service

不過實際本人沒做過,您可能需要探索一下~

peter109 iT邦新手 4 級 ‧ 2016-05-27 13:40:25 檢舉

謝謝
我研究

1
wybeen
iT邦新手 5 級 ‧ 2016-05-28 08:33:31

Try the following code

URL url;
HttpURLConnection urlConnection = null;
   try {
        url = new URL("http://new.cpc.com.tw/Home/");

        urlConnection = (HttpURLConnection) url.openConnection();

        InputStream in = urlConnection.getInputStream();

        BufferedReader r = new BufferedReader(new InputStreamReader(in));
        StringBuilder total = new StringBuilder();
        String line;
        while ((line = r.readLine()) != null) {
             total.append(line).append('\n');
         }
        String htmlSrc = total.toString();

		
        Pattern p = Pattern.compile("<dd>95無鉛&nbsp;&nbsp;<strong>([0-9.]+)</strong>");
        Matcher m = p.matcher(inputString);
        while (m.find()) { 
             System.out.printf(String name = m.group(1));
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (urlConnection != null) {
            urlConnection.disconnect();
        }    
    }
peter109 iT邦新手 4 級 ‧ 2016-05-31 10:14:08 檢舉

感恩!
我試試看

我要發表回答

立即登入回答