状況
Nokogiriでスクレピングしてogp情報を取得したところ、
対象のサイトのog:imageが複数あったため、
結果が複数URLを連結した文字列となってしまった。
(連結した文字列になったのは私のせいです...)
一つ目のURLだけ欲しいのに!!
という時です。
結論
at_css
を使う。です。
html = open('nokogiri_practice.html').read
doc = Nokogiri::HTML.parse(html)
doc.at_css('//meta[property="og:image"]/@content')
at_css, css
at_css
とcss
はcssセレクタで指定した要素を取得するメソッドです。
at_css
at_css
は複数ある要素のうち、最初の要素を取得してくれます。
指定の要素がない場合はnil
を返します。
css
css
は指定した要素を配列型式で全て取得してくれます。
指定の要素がない場合は空の配列を返します。