前提・実現したいこと
qiitaに投稿されているRUBYの記事のタイトルを抽出してCSVに出力したい。
以下のソースコードを実行したところ、以下のエラーメッセージが出ました。
どのような修正が必要でしょうか?
発生している問題・エラーメッセージ
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/open-uri.rb:225:in `open_loop': redirection forbidden: http://qiita.com/search?q=ruby, -> https://qiita.com/search?q=ruby, (RuntimeError) from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/open-uri.rb:151:in `open_uri' from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/open-uri.rb:717:in `open' from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/open-uri.rb:35:in `open' from scrape.rb:15:in `block in <main>' from scrape.rb:14:in `each' from scrape.rb:14:in `<main>'```
該当のソースコード
ruby
1require "nokogiri" 2require "open-uri" 3require "csv" 4 5urls = %w( 6 http://qiita.com/search?q=ruby, 7 http://qiita.com/search?q=php, 8 http://qiita.com/search?q=swift, 9) 10titles = [] 11 12charset = nil; 13urls.each do |url| 14 html = open(url) do |f| 15 charset = f.charset 16 f.read 17 end 18 19 doc = Nokogiri::HTML.parse(html, nil, charset) 20 doc.xpath('//h1[@class="searchResult_itemTitle"]').each do |node| 21 title = node.css("a").inner_text 22 titles.push(title) 23 end 24end 25 26CSV.open("qiita_title.csv", "w") do |csv| 27 csv << titles 28end 29
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/21 06:14