昨日も質問して連続するのは避けたかったのですが、昨日の夜からやっていて全然解決しなかったので質問します。
僕はRubyで「キーワードを入力したら、Googleの検索結果上位10サイトの記事タイトルと見出しをテキストで出力できる」というツールを作ろうと思っています。
今できているソースコードが以下です。
require 'anemone' require 'nokogiri' require 'kconv' require 'URI' #キーワード入力からグーグルの検索URLまで puts "キーワードを入力してください" keyword = gets.chomp word = URI.encode("https://www.google.co.jp/search?q=#{keyword}") #巡回対象サイトのURLを指定する場所 Anemone.crawl(word, :delay => 3, :depth_limit => 0) do |anemone| #すべてのページに対しての処理 anemone.on_every_page do |page| #文字化けさせない encoded_page = Nokogiri::HTML.parse(page.body.toutf8) #抽出するタグを指定する場所(//h3だとタイトルを貰えるみたい) encoded_page.xpath("//h3").each do |title| #出力する場所 puts "タイトル:#{title.text}" end end end
一応これでキーワードを入力すると、上位10サイトの記事タイトルを出力してくれるようになりました。
ここからそれぞれのサイトの見出し(Hタグ)を出力させようとしたのですが、できませんでした。
教えていただきたいのは以下の2つです。
・anemoneの階層を「0」から「1」にしたときに出てくる上位サイト以外のもの(Google画像検索など)を排除するコード
・1件の検索結果ごとにタイトルと見出しを出力させるコード
一部でもいいのでわかる部分があったら、アドバイスいただけると幸いです。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/14 06:37
退会済みユーザー
2017/09/14 07:01
2017/09/14 07:11
退会済みユーザー
2017/09/14 07:15
2017/09/14 07:33
2017/09/14 07:52