Ruby on rails 从RSS源中提取文本时出现问题

Ruby on rails 从RSS源中提取文本时出现问题,ruby-on-rails,nokogiri,web-crawler,Ruby On Rails,Nokogiri,Web Crawler,我是Ruby和Rails的新手 我看过rails cast 190,我刚刚开始玩它。我使用选择器小工具查找CSS和XPath 我有以下代码 require 'rubygems' require 'nokogiri' require 'open-uri' url = "http://www.telegraph.co.uk/sport/football/rss" doc = Nokogiri::HTML(open(url)) doc.xpath('//a').each do |

我是Ruby和Rails的新手

我看过rails cast 190,我刚刚开始玩它。我使用选择器小工具查找CSS和XPath

我有以下代码

require 'rubygems'  
require 'nokogiri'  
require 'open-uri'  

url = "http://www.telegraph.co.uk/sport/football/rss"  
doc = Nokogiri::HTML(open(url))  
doc.xpath('//a').each do |paragraph|
puts paragraph.text
end
当我使用css从普通HTML页面提取文本时,我可以在控制台上获取提取的文本

但是,当我尝试对上面代码中提到的以下URL的RSS提要使用CSS或XPath执行相同操作时,我没有得到任何输出

如何从RSS提要中提取文本

我还有一个愚蠢的问题

有没有办法从两个不同的提要中提取文本并在控制台上显示

差不多

url1 = "http://www.telegraph.co.uk/sport/football/rss"
url2 = "http://www.telegraph.co.uk/sport/cricket/rss"
期待您的帮助和建议

多谢各位

Gautam

您已经安装了这些: libxml2 libxml2开发 libxslt
libxslt dev

Rss页面不是HTML文档,而是XML,因此您应该使用
Nokogiri::XML(open(url))

然后查看rss页面的源代码。没有
元素

文档中的所有链接都是使用
标记创建的:

<link>http://www.telegraph.co.uk/sport/football/world-cup-2010/teams/france/7769203/France-2-Costa-Rica-1-match-report.html</link> 
如果您只需要文章的链接,请使用
doc.xpath('//guid')

对于许多提要,只需使用循环

feeds = ["http://www.telegraph.co.uk/sport/football/rss", "http://www.telegraph.co.uk/sport/cricket/rss"]
feeds.each do |url|
  #and here goes code as before
end

如果您正在处理提要,则应该使用

工作起来很有魅力


祝你好运

不需要循环。。。简单地

puts doc.xpath('//link/text()')
将打印所有链接文本。

我尝试使用“.to_s”,但仍然不起作用!!
feeds = ["http://www.telegraph.co.uk/sport/football/rss", "http://www.telegraph.co.uk/sport/cricket/rss"]
feeds.each do |url|
  #and here goes code as before
end
puts doc.xpath('//link/text()')