0

我正在使用 Ruby on Rails 2.3.8 和 Hpricot 插件来解析 HTML。

我想获得嵌入式视频缩略图,并在互联网上搜索我发现 youtube 和 vimeo 至少使用 OG(开放图形)协议,该协议提供包含视频信息(url、缩略图等)的元标记。

例如,如果我有这个视频,我可以使用 Hpricot 插件阅读以下元标记:

<meta property="og:image" content="http://b.vimeocdn.com/ts/101/345/101345354_200.jpg" />

因此,使用 Hpricot 我应该能够按如下方式解析它:

video_url = "http://vimeo.com/16430948"

video_page = Hpricot.parse(open(video_url))

element = video_page.search("//meta[@property='og:image']")

但我得到了一个空元素。

注意:如果您搜索video_page.search("//meta"),它会在列表中找到我想要的那个......但使用前面的语法它不会。

谁能告诉我如何解决这个问题?

4

1 回答 1

2

我遇到了这个问题,同时对 Hpricot 和元数据有类似的问题。

最后,我不得不将 xpath 从//meta更改为/html/head以使我的抓取工作。在这里尝试同样的方法似乎有效。

video_page.at('/html/head/meta[@property="og:image"]')['content']

返回图片的 URL。

于 2011-04-18T12:47:10.270 回答