Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 将RSS标题放入一个数组并检查它们是否在另一个数组中_Ruby_Xml - Fatal编程技术网

Ruby 将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

我试图比较两个不同的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::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