0

HTML の解析に Ruby on Rails 2.3.8 と Hpricot プラグインを使用しています。

埋め込まれたビデオのサムネイルを取得したいのですが、インターネットで検索したところ、YouTube と vimeo は少なくともビデオ情報 (URL、サムネイルなど) を含むメタ タグを提供する OG (オープン グラフ) プロトコルを使用していることがわかりました。

たとえば、このビデオがあれば、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 に答える