前提・実現したいこと
現在、サイト調査のためにスクレイピングを行っています。
メタ情報を取得するために「metainspector」というgemを使用しています。
発生している問題・エラーメッセージ
使用方法としては、下記のような感じらしいです。
gem install metainspector
でインストールrequire "metainspector"
を記載page = MetaInspector.new("http://hogehoge~")
でページの情報代入puts page.description
のような使用方法が可能
しかし、keywordsを取得しよううとするときだけ下記のようなエラーがでます。
console
1Traceback (most recent call last): 2./meta_test.rb:6:in `<main>': undefined method `meta_keywords' for #<MetaInspector::Document:0x0000000005692c10> (NoMethodError)
該当のソースコード
ruby
1require "metainspector" 2 3meta = MetaInspector.new("https://chiebukuro.yahoo.co.jp/") 4puts meta.title 5puts meta.description 6puts meta.meta_keywords
試したこと
下記のサイトにmethod一覧が掲載されていたので、そのmethodを使用しているのですが前述したようなエラーとなります。
MetaInspector
https://www.rubydoc.info/gems/metainspector/1.15.0
ためしに、サポートされているmethodで、hogr.to_hash
というものがあるので使用してみたところ下記のような結果となりました。
ruby
1require "metainspector" 2 3meta = MetaInspector.new("https://chiebukuro.yahoo.co.jp/") 4 5puts meta.to_hash
console
1{"url"=>"https://chiebukuro.yahoo.co.jp/", "scheme"=>"https","host"=>"chiebukuro.yahoo.co.jp", 2"root_url"=>"https://chiebukuro.yahoo.co.jp/", "title"=>"Yahoo!知恵袋 - みんなの知恵共有サービス", "best_title"=>"Yahoo!知恵袋 - みんなの知恵共有サービス", "author"=>nil, "best_author"=>"プライバシー - 利用規約 - メディアステートメント - ガイドライン - ご意見・ご要望 - ヘルプ・お問い合わせ JASRAC許諾番号:9008249113Y38200 Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved.", "description"=>"みんなでつくる便利でうれしい知恵の共有サービス。参加している方がお互いに知恵や知識をQ&Aで共有できるサイトです。", "best_description"=>"みんなでつくる便利でうれしい知恵の共有サービス。参加している方がお互いに知恵や知識をQ&Aで共有できるサイトです。", "h1"=>["Yahoo!知恵袋", "「ふとした疑問」「ちょっとした悩みごと」気軽に“質問”してみよう!"], "h2"=>["解決済みのQ&A", "回答受付中のQ&A", "投票受付中のQ&A", "Yahoo!知恵袋カテゴリ", "総合Q&Aランキング", "回答者ランキング", "Yahoo!知恵袋からのお知らせ"], "h3"=>[], "h4"=>[], "h5"=>[], "h6"=>[], 3 4######## 省略 ######## 5 6"meta_tags"=>{"name"=>{"description"=>["みんなでつくる便利でうれしい知恵の共有サービス。参加している方がお互いに知恵や知識をQ&Aで共有できるサイト です。"], 7"keywords"=>["知恵,知識,質問,回答,悩み,相談,解決,教えて,疑問,意味,方法"]}, 8"http-equiv"=>{"content-type"=>["text/html; charset=utf-8"], 9"content-style-type"=>["text/css"], "content-script-type"=>["text/javascript"]}, 10"property"=>{"og:title"=>["Yahoo!知恵袋 - みんなの知恵共有サービス"], 11"og:description"=>["みんなでつくる便利でうれしい知恵の共有サービス 12。参加している方がお互いに知恵や知識をQ&Aで共有できるサイトです。"] 13 14######## 省略 ########
上記のような出力がされ、その中に
"keywords"=>["知恵,知識,質問,回答,悩み,相談,解決,教えて,疑問,意味,方法"]},
とあるので、
持ってこれそうなのですが...
このgemを使用するときは、meta_keywordsのmethodが使用できないから、
hashから引っこ抜くしかないのでしょうか。
ご存知の方が居たら教えていただきたく!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/24 03:49