1

我正在使用 Nokogiri 为某个 subreddit 解析 Reddit RSS 提要。

如果帖子转到某个域,我正在尝试捕获帖子的外部 URL。

不幸的是,即使用户创建的帖子链接到外部网站,所有 RSS 标题都会转到该 reddit 帖子(评论区)。然而,有一个名为的属性description,由 Reddit RSS 提要生成,它包含一个包含两个链接的 HTML 字符串:

[链接][2 条评论]

它始终是 description.text 中倒数第二个锚点

使用 Nokogiri,我可以深入到将整个描述拉入字符串的部分,然后Nokogiri::HTML用这个字符串实例化一个新对象。

我想知道两件事:

  1. 有没有办法将字符串转换为Nokogiri::HTML所以我不需要创建新对象?
  2. 如何保存href描述中出现的倒数第二个链接的值?

代码:

def scrape
  @document = Nokogiri::XML(open(self.url))
  @document.xpath("//item").each do |item|
    description_html = item.xpath('description').text
    url = Nokogiri::HTML(description_html)... #?
  end
end
4

1 回答 1

1

弄清楚了

def scrape
  document = Nokogiri::XML(open(self.url))
  document.xpath('//item').each do |item|
    description_html = item.xpath('description').text
    url = Nokogiri::HTML(description_html).xpath('//a')[-2]['href']
  end
end
于 2012-10-19T21:50:17.613 回答