作者james732 (好人超)
看板AndroidDev
標題[問題] 如何判斷網頁是否有更新?
時間Fri Jun 5 01:14:07 2015
我目前在寫個app
用jsoup從店家網頁把商品、價格抓下來
http://www.landtop.com.tw/products.php?types=1
抓資料與分析已經完成了,接下來我想做的是:
偵測這次抓到的網頁,與上次抓到的網頁是否有分別 (店家是否有更新網頁)
1.如果有分別,就抓出哪些手機是新上架、降價、漲價等
2.如果沒有分別,那就什麼都不做
不過問題就是,上次抓到的資料,我應該要怎麼儲存下來、存成什麼型式
才能跟這次抓到的資料做比較、分析呢?
我最困擾的是,不知道要怎麼判斷「店家是否有更新網頁」
這樣就會變成
1.第一次開app,抓到某手機價格為20000,判斷為「新上架」
(店家更新網頁)
2.第二次開app,抓到同手機價格變為19000,判斷為「降價」
3.立刻第三次開app,抓到同手機價格變為19000,判斷為「不變」
但事實上第二次與第三次開啟時,店家並沒有更新網頁
所以第三次開app時,應直接取得第二次開啟的判斷結果,得到「降價」才對
請問這種需求,應該要怎麼做比較好呢?謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.66.159
※ 文章網址: https://webptt.com/m.aspx?n=bbs/AndroidDev/M.1433438050.A.7F2.html
1F:推 A4P8T6X9: 想辦法存時間,商品名稱,日期 06/05 09:43
2F:→ blackZ2: 沒有分別之後,再判斷資料取得日期,超過多久,就判斷不變 06/05 10:31
3F:→ blackZ2: 另外我覺得不應該以開啟app作為更新判斷的時間點 06/05 10:33
4F:→ blackZ2: 一秒前開啟app為「新上架」 下秒開啟app為「不變」 06/05 10:34
5F:→ blackZ2: 個人認為應該為周間為判斷點 06/05 10:35
6F:→ blackZ2: *以 06/05 10:35
請問週間的意思是什麼呢?
目前我不太確定店家更新資料的週期 (如果知道的話就好辦了XD)
7F:推 ckvir: 我建議是額外架設一台server 去抓, 然後存 db, app 再去你d 06/05 10:44
8F:→ ckvir: b 抓資料,或是 server gcm 推送app, 不然你用 app 定時抓 06/05 10:44
9F:→ ckvir: 會很耗電 06/05 10:44
其實這個app目前是自己寫好玩的,所以還沒有想太多
就很簡單的有開啟就檢查而已
就像我自己手動開啟網頁後,看一下某隻手機有沒有降價、哪些手機新上架這樣XD
10F:推 LaPass: 商品有沒有絕對的id? 最好用id作判斷 06/05 12:57
好像沒有…我目前都直接用手機的名稱做為key
11F:→ Fnd: 推上面用server抓,抓完寫個function比對,有變動就push,然後 06/07 00:18
12F:→ Fnd: 寫支api,當resume或start的時候去call api更新app資料? 06/07 00:19
13F:→ Fnd: 開啟就檢查就存成兩個檔案去比對? 06/07 00:21
14F:→ wuliou: 另外用server抓簡單多啦 何必用手機做這種事 06/07 11:09
因為小魯目前只是在做小玩具,想說架server要考慮的事情好多啊...XD
※ 編輯: james732 (118.160.22.25), 06/07/2015 23:31:21