루비온 레일즈 이용한 웹 크롤링 질문입니다.


루비 온 레일즈를 공부하는 중입니다. 네이버 뉴스 기사 제목 4개를 긁어 오는 것을 하고 있는 데 제 생각대로 되지 않아 질문을 올립니다. 제가 짠 코드에서 #{c}로 하지 않고 0002713773, 0002713772, 0002713771, 0002713770 각각 따로 돌리면 잘 돌아가는 데 이부분을 반복문으로 돌리니 실행은 되는 데 결과물이 나오질 않습니다. 왜 그런지 궁금합니다.


        @titles = Array.new
        0002713773.downto(0002713770) do |c| 
            @url ="http://news.naver.com/main/read.nhn?mode=LSD&mid=shm&sid1=105&oid=032&aid=#{c}"
            @page = Nokogiri::HTML(open(@url), nil, 'EUC-KR')

            #@title = @page.search("title").text
            @title = @page.css("#articleTitle")
            @titles << @title.inner_text
        end

그리고 또 공부를 하다보니 궁금한 게 한 가지 더 있습니다. curl을 이용하면 해당 html를 다운 받아 제 로컬에 저장할 수 있는 것을 아는 데 저는 특정 부분만 ( 기사제목, 기사 내용) 뽑아 html로 제 로컬에 저장하고 싶은 데 어떻게 해야되나요. 특정 부분을 뽑는 코드는 짰는 데 이를 로컬에 저장하는 법이 궁금합니다.

예를 들어 기사1은 제목과 내용만을 뽑아 1.html로 저장하고 기사2는 2.html 이런 식으로 저장하고 싶습니다.

  • 2016년 07월 18일에 작성됨

조회수 192


1 답변


좋아요
1
싫어요
채택취소하기

이거 왜 그런지 해결했어요. 0으로 시작하는 숫자는 8진수로 인식한다네요. 혹시 몰라서 지우진 않을게요.

  • 2016년 07월 18일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close