2010-11-11 19 views
0

J'utilise Ruby on Rails 2.3.8 et le plugin Hpricot pour analyser le HTML. Je voudrais obtenir des vignettes vidéos intégrées, et la recherche sur internet J'ai compris que YouTube et Vimeo utilise au moins OG (graphique ouvert), qui fournit des méta-tags qui contient les informations vidéo (URL, vignette, etc).Comment obtenir l'image miniature de la vidéo intégrée

Par exemple, si j'avais this video, je pouvais lire la balise meta suivante, en utilisant le plugin hpricot:

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

Ainsi, en utilisant hpricot je devrais pouvoir l'analyser comme suit:

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

video_page = Hpricot.parse(open(video_url)) 

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

Mais je reçois un élément vide à la place.

Note: si vous avez recherché video_page.search("//meta"), il trouvera celui que je veux dans la liste ... mais pas avec la syntaxe précédente.

Quelqu'un pourrait-il me dire comment puis-je résoudre ce problème?

Répondre

2

Je suis tombé sur cette question tout en ayant un problème similaire avec Hpricot et méta-données.

En fin de compte que je devais changer le XPath de // méta à /html/tête pour obtenir mon travail racler. Essayer la même chose ici semble fonctionner.

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

Renvoie l'URL de votre image.