0
A
回答
2
第一个幼稚的猜测是获取内容并创建一个哈希。但是,如果内容有任何动态行为,这不是一个好的指标。
require 'open-uri'
require 'digest/md5'
f1 = open("http://rubyonrails.org/?id=1")
c1 = f1.read
d1 = Digest::MD5.hexdigest(c1)
f2 = open("http://rubyonrails.org/");
c2 = f2.read
d2 = Digest::MD5.hexdigest(c2)
d1 == d2 # true
如果我们重复使用同样的事情说:www.google.com和google.com哈希将不匹配,因为有可能是内容的细微变化。
对于字符串,您可以使用Jaro Winkler度量值,该度量值为0和1之间的值,表示两个字符串的相似程度。 红宝石中还有一个纯粹的implementation算法。本地实现速度更快。我过去使用过amatch库。
require 'open-uri'
require 'fuzzystringmatch'
f1 = open("http://www.google.com/")
c1 = f1.read
f2 = open("http://google.com/")
c2 = f2.read
delta = 0.1
jarow = FuzzyStringMatch::JaroWinkler.create(:pure)
distance = jarow.getDistance(c1, c2) # 0.85 .. that is the text looks to be 85% similar
相关问题
- 1. 是否可以使网页网址与iFrame网址相同?
- 2. 检查两个字符串是否相同的VB网。
- 3. 如何检查两个地址是否相同?
- 4. 如何检查两个端点地址是否相同?
- 5. 查找所有与窗口网址相同的网页网址
- 6. 如何确定两个网页是否相同?
- 7. 不同网址上的相同网页
- 8. 两个网站,相同的网址,相同的Cookie
- 9. 检查两个查询是否相同
- 10. 如何检查网页是否滚动?
- 11. 如何检测URL是否导航到相同的网页
- 12. 两个网址是否相同?忽略param顺序
- 13. 检查两个URL是否是相同的页面
- 14. 两个结构相同的网址
- 15. Android的网页浏览器,检查网址是否是一个文件
- 16. Swift:检查两个NSDates是否相同
- 17. 检查两个json是否相同
- 18. 检查两个ID是否相同
- 19. 检查两个jar类是否相同
- 20. 检查两个Dask是否相同
- 21. 找出两个网址是否导航到同一页面
- 22. 如何检查网站地图是否包含一些网址
- 23. 具有相同网址的两页。如何抓取?
- 24. 检查网页名称的网址
- 25. 如何检查网址或网页是否存在于ajax或jquery
- 26. 这两个MDX查询是否会返回相同的结果?
- 27. 如何检查一个网址是否有效
- 28. 如何检查两个字典是否包含相同的值?
- 29. 如何检查两个PictureBox是否具有相同的图像?
- 30. 如何检查列表中的两个数字是否相同