スクレイピングをやろうとサンプルを動かしたのですが、以下の様なエラーメッセージが出ます。
sample.rb:20: syntax error, unexpected tIDENTIFIER, expecting ')'
...de.xpath("./p[@class="itemTitle"]/span/text()").to_s
... ^
sample.rb:20: syntax error, unexpected ')', expecting keyword_end
...lass="itemTitle"]/span/text()").to_s
Ruby
1# 必要なgemを読み込み。読み込み方やその意味はrubyの基本をおさらいして下さい。 2require 'nokogiri' 3require 'anemone' 4 5# 後述。 6opts = { 7 depth_limit: 0 8} 9 10 11# AnemoneにクロールさせたいURLと設定を指定した上でクローラーを起動! 12Anemone.crawl("http://www.nicovideo.jp/ranking", opts) do |anemone| 13 # 指定したページのあらゆる情報(urlやhtmlなど)をゲットします。 14 anemone.on_every_page do |page| 15 i = 1 # 後で使います。 16 17 # page.docでnokogiriインスタンスを取得し、xpathで欲しい要素(ノード)を絞り込む 18 page.doc.xpath("//*[@class='itemContent']").each do |node| 19 # 更に絞り込んでstring型に変換 20 title = node.xpath("./p[@class="itemTitle"]/span/text()").to_s 21 # 更に絞り込んでstring型に変換 22 viewCount = 23 node.xpath("./div[@class='itemData']/dl[contains(@class,'view')]/dd/text()").to_s.trim 24 25 26 # 表示形式に整形 27 puts i.to_s + "位:再生数:" + viewCount + " | " + title 28 puts "\n———————————————–\n" 29 i += 1 # iは順位を示しています。あるランキングを上から順番に取り出しています。 30 end # node終わり 31 end # page終わり 32end # Anemone終わり 33
どこにミスが存在しているのでしょうか??
OS:MAC
Ruby 2.3.1
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。