gpt4 book ai didi

ruby-on-rails - Ruby,使用 Nokogiri 和媒体 :thumbnail

转载 作者:太空宇宙 更新时间:2023-11-03 16:38:07 25 4
gpt4 key购买 nike

我一直在无休止地寻找解决方案,当我得到要显示的图像时,我认为我已经解决了它。然而,缩略图只是存储在根元素中的那个。这很简单:

rss = Nokogiri::XML(open('http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss.xml'))
@news = rss.xpath('//item').map do |i|
{
'title' => i.xpath('title').text,
'link' => i.xpath('link').text,
'description' => i.xpath('description').text,
'thumbnail' => i.xpath('//media:thumbnail').attr('url')
}
end

但编辑 media:thumbnail 以引用该项目似乎破坏了它:

{
'title' => i.xpath('title').text,
'link' => i.xpath('link').text,
'description' => i.xpath('description').text,
'thumbnail' => i.xpath('media:thumbnail').attr('url')
}

我不明白为什么这两个元素是相同的。任何指向正确方向的指示都将不胜感激。

谢谢!

最佳答案

您的代码在第一个没有缩略图子元素的元素处中断。试试这个:

@news = rss.xpath('//item').map do |i|
thumb = i.at_xpath('media:thumbnail').attr('url') if i.at_xpath('media:thumbnail')
{
'title' => i.at_xpath('title').text,
'link' => i.at_xpath('link').text,
'description' => i.at_xpath('description').text,
'thumbnail' => thumb
}
end

现在 thumbnail 如果存在则为 URL,如果不存在则为 nil

关于ruby-on-rails - Ruby,使用 Nokogiri 和媒体 :thumbnail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4413643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com