我正在使用Ruby on Rails 2.3.8和Hpricot插件来解析HTML。
我想获取嵌入式视频缩略图,并在互联网上搜索我发现youtube和vimeo至少使用OG(开放图形)协议,它提供包含视频信息(网址,缩略图等)的元标记
例如,如果我有this video,我可以使用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")
,它会在列表中找到我想要的那个...但是使用之前的语法则不会。
有人能告诉我怎么解决这个问题?
答案 0 :(得分:2)
我在遇到与Hpricot和元数据类似的问题时遇到了这个问题。
最后我不得不将xpath从 // meta 更改为 / html / head 以使我的抓取工作正常。在这里尝试相同似乎也有效。
video_page.at('/html/head/meta[@property="og:image"]')['content']
返回图片的网址。