我需要檢測遠程頁面是否改變。我寫道:檢測遠程頁面是否改變
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
。是否有可能檢測頁面是否更改?
我需要檢測遠程頁面是否改變。我寫道:檢測遠程頁面是否改變
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
。是否有可能檢測頁面是否更改?
你有什麼把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或同樣生產),您需要檢查網頁內容和顯式轉換的頁面,比方說,典型的觀點:關閉切斷所有的臨時信息和比較只有靜態部分。
請等待5-10秒,然後再b = open('http://en.wikipedia.org/wiki/Main_Page').read並放一個== b將是 #⇒false – zahar
嗯,我做到了。我不相信木偶儀式。這裏的'a'和'b'畢竟只是字符串。無論是頭文件還是其他與HTTP相關的東西都不會讓結果變得糟糕。對所做的頁面是否沒有修改,結果的比較返回「true」。期。 – mudasobwa
我覺得自己像一個傻瓜......但我沒有這樣做。下面是另一個示例: 一個開放=( '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
奇怪我有'a == b#=> true'。顯示整個代碼? –