2013-12-16 1 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 == bfalse을 반환 : 나는 썼다. 페이지가 변경되었는지 여부를 감지 할 수 있습니까?

+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

b = open ('http://en.wikipedia.org/wiki/Main_Page') 전에 5-10 초 기다려주십시오. == b = # ⇒ 거짓말 – zahar

+0

글쎄, 그랬어. 나는 woodoo 의식을 믿지 않는다. 여기서'a'와'b'는 결국 문자열입니다. 헤더 나 다른 HTTP 관련 물건으로는 결과를 왜곡 할 수 없습니다. 페이지를 수정하지 않아도 결과를 비교하면 true를 반환합니다. 기간. – mudasobwa

+0

나는 바보처럼 느껴진다. 그러나 나는 이것을 만들지 않고있다. 여기에 또 다른 예이다 : A는 ('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

관련 문제