前提・実現したいこと
小説家になろうというサイトのタイトルと詳細説明をスクレイピングで取ってこようとしています。
アドレス例:https://ncode.syosetu.com/n9669bk/
発生している問題・エラーメッセージ
ローカルでは問題なく取得できるのですが、
Heroku上からアクセスしようとすると500 Internal Server Errorが返って来てしまいます。
小説家になろう以外のサイトについては問題がありませんでした。
こちらの原因について心当たりがありましたらご教示お願いいたします。
該当のソースコード
ruby
1 def scraping_novel 2 require 'open-uri' 3 require 'nokogiri' 4 5 # スクレイピング先のURL 6 url = params[:url] 7 charset = nil 8 9 html = open(url) do |f| 10 charset = f.charset 11 f.read 12 end 13 14 doc = Nokogiri::HTML.parse(html, nil, charset) 15 16 p doc.css("p.novel_title").inner_text 17 p doc.css("div#novel_ex").inner_text 18 19 # タイトルを表示 20 @novel_title = doc.css("p.novel_title").inner_text 21 @novel_description = doc.css("div#novel_ex").inner_text 22 23 end
試したこと
他のサイトでスクレイピングしたところ、
問題なく取得できるようなので設定か、セキュリティ的な問題だと考えております。
他のサイトでスクレイピングしたところ、
以下の部分でログに空文字が表示されました。
p doc.css("p.novel_title").inner_text
p doc.css("div#novel_ex").inner_text
追記
小説取得部分のログを追記いたします。
heroku logs -t -a narou-matome
terminal
12018-07-06T05:12:49.216323+00:00 app[web.1]: [15832366-33fd-4bc0-aaa6-5c38caea95fe] Started GET "/matomes/scraping_novel?url=https%3A%2F%2Fn 2code.syosetu.com%2Fn4449cj%2F" for 162.158.7.30 at 2018-07-06 05:12:49 +0000 32018-07-06T05:12:49.217485+00:00 app[web.1]: [15832366-33fd-4bc0-aaa6-5c38caea95fe] Processing by MatomesController#scraping_novel as HTML 42018-07-06T05:12:49.217515+00:00 app[web.1]: [15832366-33fd-4bc0-aaa6-5c38caea95fe] Parameters: {"url"=>"https://ncode.syosetu.com/n4449cj 5/"} 62018-07-06T05:12:49.970244+00:00 heroku[router]: at=info method=GET path= "/matomes/scraping_novel?url=https%3A%2F%2Fncode.syosetu.com%2Fn44 749cj%2F" host=narou-matome.com request_id=15832366-33fd-4bc0-aaa6-5c38caea95fe fwd="125.12.18.156,162.158.7.30" dyno=web.1 connect=1ms servi 8ce=755ms status=500 bytes=1827 protocol=https 92018-07-06T05:12:49.968024+00:00 app[web.1]: [15832366-33fd-4bc0-aaa6-5c38caea95fe] Completed 500 Internal Server Error in 750ms (ActiveReco 10rd: 0.0ms) 112018-07-06T05:12:49.968840+00:00 app[web.1]: [15832366-33fd-4bc0-aaa6-5c38caea95fe] 122018-07-06T05:12:49.968886+00:00 app[web.1]: [15832366-33fd-4bc0-aaa6-5c38caea95fe] OpenURI::HTTPError (503 Service Temporarily Unavailable) 13: 142018-07-06T05:12:49.968934+00:00 app[web.1]: [15832366-33fd-4bc0-aaa6-5c38caea95fe] 152018-07-06T05:12:49.968983+00:00 app[web.1]: [15832366-33fd-4bc0-aaa6-5c38caea95fe] app/controllers/matomes_controller.rb:90:in `scraping_no 16vel'
回答1件
あなたの回答
tips
プレビュー