Ruby 将RSS标题放入一个数组并检查它们是否在另一个数组中
我试图比较两个不同的RSS源,比如站点A和站点B。站点A和站点B的RSS源中都有十个项目。我想抓取站点A中最近的两个RSS项目,看看它们是否出现在站点B的十个项目中 我已经为站点A解析了足够多的RSS提要,我让它只抓取前两个。这就是我到目前为止所做的:Ruby 将RSS标题放入一个数组并检查它们是否在另一个数组中,ruby,xml,Ruby,Xml,我试图比较两个不同的RSS源,比如站点A和站点B。站点A和站点B的RSS源中都有十个项目。我想抓取站点A中最近的两个RSS项目,看看它们是否出现在站点B的十个项目中 我已经为站点A解析了足够多的RSS提要,我让它只抓取前两个。这就是我到目前为止所做的: require 'open-uri' require 'rss' url = 'http://www.ruby-lang.org/en/feeds/news.rss' open(url) do |rss| feed = RSS::P
require 'open-uri'
require 'rss'
url = 'http://www.ruby-lang.org/en/feeds/news.rss'
open(url) do |rss|
feed = RSS::Parser.parse(rss)
puts "Title: #{feed.channel.title}"
feed.items.take(2).each do |item|
puts "Item: #{item.title}"
end
end
我不确定如何将其放入数组中,并将其与站点B的解析进行比较。我真的希望在正确的方向上进行碰撞。我是否应该使用带有索引的
每个\u
?当您调用提要提要a
和提要b
时,您可以生成标题数组,并使用和在两个数组之间进行交集。如果feed_a的两个元素都存在于feed_b中,则相交的大小将是两个元素(这意味着两个数组之间有两个公共项)
(feed_b.items.take(10).map(&:title) & feed_a.items.take(2)map(%:title)).size == 2