Rubyでyahooのトップページの記事一覧から一番先頭をスクレイピングをしたいのですが、このコードのどこが間違えているのでしょうか?
ファイル名.rbを作成し、ruby ファイル名.rbを実行すると””が帰ってきます。
require 'nokogiri' require 'open-uri' url = 'https://www.yahoo.co.jp/' charset = nil html = open(url) do |f| charset = f.charset f.read end doc = Nokogiri::HTML.parse(html, nil, charset) p doc.css('#topicsfb > div.topicsindex > ul.emphasis > li:nth-child(1) > a').text
require 'nokogiri' require 'open-uri' url = 'https://www.yahoo.co.jp/'
が正しいだろうということはわかっています。
doc = Nokogiri::HTML.parse(html, nil, charset)でhtmlを取得し、
p doc.css('〜').textで具体的な箇所を引っ張ってくるのだろうという認識ですが正しいでしょうか?
また()内の記述はデベロッパーツールから抜き取りたい範囲をcopy selectorでコピーして持ってきたものですが大丈夫でしょうか?
リンク内容を参考にしました
https://teratail.com/help/question-tips#questionTips2-1
すいません、何がネックになってて間違えてるのかさっぱりわかないんです。強いていうならrequire 'nokogiri' require 'open-uri' url = 'https://www.yahoo.co.jp/'は正しいだろうということはわかっていますが。
ネックの話ではなく、このコードを実行することで何が起きるからどうしたいのかが分からない、ということです。そのために、「何が起きているのか、何が分かっているのか、どう調べてみたのか」というところを質問に明記してください。(割とそのあたりが不足している質問が非常に多いです)
追記しましたがこれで大丈夫ですか?
回答1件
あなたの回答
tips
プレビュー