2017-10-19 6 views
0

근근이 살아가고, 그것은 작동하지만 때로는 스크립트가 중지되고이 오류 표시 :루비 기계화 내가 웹 사이트의 모든 결과 페이지를 긁어하기 위해 노력하고있어 ResponseCodeError

502 => Net::HTTPBadGateway for https://website.com/id/12/ -- unhandled response (Mechanize::ResponseCodeError) 

내가 그것을 발견하더라도 스크립트를 계속하고 싶습니다를 오류.

내 스크립트를

require 'mechanize' 
require 'csv' 

a = Mechanize.new 
CSV.open('datas.csv', "wb") do |csv| 
    page = a.get("https://website.com/?page=1-200") #498 
    number = 0 
    page.links_with(:class => "btn btn-default").each do |link| 
     post_link = link.href 
     inside_page = a.get("https://website.com#{post_link}") 
     title = inside_page.at("h1.serviceTitle").text.strip 
     author = inside_page.at(".name").text.strip 
     number+=1 
     csv << [title, author] 
    end 
end 

어떤 생각?

답변

0

적절한 예외 처리를 통해 쉽게 해결할 수 있습니다. 당신은 check this page for a better explanation 당신의 코드로

, 당신은 작동 그래서

CSV.open('datas.csv', "wb") do |csv| 
    begin 
    a = Mechanize.new 
    page = a.get("https://website.com/?page=1-200") #498 
    number = 0 
    page.links_with(:class => "btn btn-default").each do |link| 
     post_link = link.href 
     inside_page = a.get("https://website.com#{post_link}") 
     title = inside_page.at("h1.serviceTitle").text.strip 
     author = inside_page.at(".name").text.strip 
     number+=1 
     csv << [title, author] 
    end 
    rescue => e 
    // do nothing and move on to the next line 
    end 
end 
+0

들으 같은 예외를 처리 할 수 ​​있습니다! 내 링크를 확인해 보겠습니다. – Rubyx