[請益] 如何得知網站RSS更新,然後將內容塞進資料庫?

看板PHP作者 (我的生命因你而發光)時間16年前 (2009/08/09 10:26), 編輯推噓4(4027)
留言31則, 4人參與, 最新討論串1/1
目前我想追蹤某個網站是否有發布新的新聞,該網站有提供RSS 我想做的是當該網站有更新內容時候,我這邊網站可以馬上得知 然後利用parse rss再寫入資料庫中 但問題是卡在怎樣得知有新的RSS這個動作呢? 舉例說明一下: 假設我的網站是專門做藝文新聞的收集 當奇摩藝文新聞有更新的時候,我的藝文資料庫中就會自動新增這些更新的內容 而當中時網站中的藝文新聞有更新的時候,我這邊也可以同步自動新增到我藝文資料庫中 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.218.254

08/09 12:25, , 1F
Linux 的話,用 cron
08/09 12:25, 1F

08/09 12:48, , 2F
cron的話可以得知某網站RSS更新?
08/09 12:48, 2F

08/09 12:48, , 3F
我知道網頁可以利用cron自動排程去做處理
08/09 12:48, 3F

08/09 12:48, , 4F
目前問題是卡在怎樣得知有新的RSS~
08/09 12:48, 4F

08/09 13:21, , 5F
阿就排時間open他的rss阿
08/09 13:21, 5F

08/09 13:29, , 6F
沒有這種事 要push要對方通知你
08/09 13:29, 6F

08/09 13:30, , 7F
你自己只能控制pull的interval
08/09 13:30, 7F

08/09 13:33, , 8F
真的要即時 只有一個辦法 你要feed給client的時候
08/09 13:33, 8F

08/09 13:33, , 9F
去檢查更新 檢查完在push給你的client
08/09 13:33, 9F

08/09 13:34, , 10F
說更詳細點 先把有的資料送出去
08/09 13:34, 10F

08/09 13:35, , 11F
檢查完在補送資料 除非你fetch+parse RSS的時間很短
08/09 13:35, 11F

08/09 13:35, , 12F
就可以檢查完在送出去 就不必做後面的push
08/09 13:35, 12F

08/09 23:56, , 13F
奇怪我怎麼看不出來他要push給別人 我們真的在同個
08/09 23:56, 13F

08/09 23:57, , 14F
宇宙嗎?明明就只是煩惱怎麼收rss更新進資料庫而已
08/09 23:57, 14F

08/10 06:49, , 15F
他要同步 那只有兩個相關情形
08/10 06:49, 15F

08/10 06:49, , 16F
1.進來看的人可以隨時都看到最新的
08/10 06:49, 16F

08/10 06:50, , 17F
2.他要主動送資料給別人 這樣個直接/間接都跟push
08/10 06:50, 17F

08/10 06:50, , 18F
有關啊
08/10 06:50, 18F

08/10 06:50, , 19F
以一個網站來說 通常要的是1, 那就是在別人近來看
08/10 06:50, 19F

08/10 06:51, , 20F
的時候去update 但update通常需要一些時間
08/10 06:51, 20F

08/10 06:52, , 21F
所以說 如果要不影響網頁的load time 那就是先送
08/10 06:52, 21F

08/10 06:52, , 22F
再補 背後要自己處理好多個client同時觸發update的
08/10 06:52, 22F

08/10 06:52, , 23F
問題就是了...
08/10 06:52, 23F

08/10 06:53, , 24F
不想這麼複雜 那就縮短cron的interval就好了
08/10 06:53, 24F

08/10 06:54, , 25F
這部份可以搭配browser cache來減少網路的負擔
08/10 06:54, 25F

08/10 06:55, , 26F
不要只是單純的抓檔案 先用e-tag看 就不用每次抓
08/10 06:55, 26F

08/10 06:55, , 27F
整個檔案
08/10 06:55, 27F

08/10 08:22, , 28F
可以請問一下什麼是e-tag嗎?是說不用curl全都抓來看
08/10 08:22, 28F

08/10 08:23, , 29F
的意思嘛?我google一下似乎沒這關鍵字~謝謝大家回覆
08/10 08:23, 29F

08/10 15:41, , 30F
難道我用的google跟你用的不是同一個?
08/10 15:41, 30F

09/15 00:45, , 31F
要不要轉CodeJob?
09/15 00:45, 31F
文章代碼(AID): #1AVZF0HD (PHP)
文章代碼(AID): #1AVZF0HD (PHP)