2013-12-16 50 views
1

我需要檢測遠程頁面是否改變。我寫道:檢測遠程頁面是否改變

a = JSON.parse open('http://en.wikipedia.org/wiki/Main_Page').read 
b = JSON.parse open('http://en.wikipedia.org/wiki/Main_Page').read 

頁面沒有改變,但a == b返回false。是否有可能檢測頁面是否更改?

+0

奇怪我有'a == b#=> true'。顯示整個代碼? –

回答

1

你有什麼把JSON.parse那裏?你期望維基百科主頁是json編碼的嗎?

require 'open-uri' 
a = open('http://en.wikipedia.org/wiki/Main_Page').read 
b = open('http://en.wikipedia.org/wiki/Main_Page').read 
puts a == b 
# ⇒ true 

無論你是否有動態創建的頁面(通過CMS或同樣生產),您需要檢查網頁內容和顯式轉換的頁面,比方說,典型的觀點:關閉切斷所有的臨時信息和比較只有靜態部分。

+0

請等待5-10秒,然後再b = open('http://en.wikipedia.org/wiki/Main_Page').read並放一個== b將是 #⇒false – zahar

+0

嗯,我做到了。我不相信木偶儀式。這裏的'a'和'b'畢竟只是字符串。無論是頭文件還是其他與HTTP相關的東西都不會讓結果變得糟糕。對所做的頁面是否沒有修改,結果的比較返回「true」。期。 – mudasobwa

+0

我覺得自己像一個傻瓜......但我沒有這樣做。下面是另一個示例: 一個開放=( 'https://sjobs.brassring.com/TGWebHost/jobdetails.aspx?jobId=167273&partnerid=25354&siteid=5108&codes=AD007').read B = A =開放('HTTPS ://sjobs.brassring.com/TGWebHost/jobdetails.aspx?jobId = 167273&partnerid = 25354&siteid = 5108&codes = AD007').read a == b#=> false – zahar

相關問題