루비온 레일즈 웹크롤링할 때 이미지와 텍스트를 뽑아올 때 질문입니다.

웹을 공부하는 학생입니다. 항상 여기서 도움을 많이 받고 있습니다. 제가 텍스트따로 이미지 따로 추출하는 것은 해보았는데 여기서 궁금하게 있습니다. 예를 들면 신문기사를 크롤링할 때 텍스트 이미지 텍스트 순으로 기사가 배열이 되어있을 때 이 순서를 잃지 않고 추출하려면 어떻게 해야하나요?

제가 크롤링하고자 하는 코드는 아래와 같습니다. 보시면 아시겠지만 텍스트 이미지 텍스트 이미지 텍스트 순으로 되어있습니다.

<div id="articleBodyContents">
    <!-- 본문 내용 -->

    구글이 마치 레고처럼 모듈 방식으로 기능을 추가할 수 있는 조립식 스마트폰 `아라`의 개발자 버전 실물을 올해 가을에 내놓고 내년부터 판매한다는 계획을 내놨다. LG전자가 선보인 G5에 이어 `아라`까지 가세해 조립형 스마트폰 생태계가 확장될 전망이다.<br /><br />블레이즈 베르트랑 구글 고급 기술과 제품(ATAP) 부문의 창의 책임자(Head of Creative)는 연례 개발자 회의 `구글 I/O 2016`의 마지막 날인 20일(현지시간) 올해 4분기 프로젝트 아라 개발자용 새 스마트폰이 나올 예정이라 밝혔다. 2017년에는 소비자에게도 판매될 것이라 덧붙였다.<br /><br />
<span class="end_photo_org"><img src="http://imgnews.naver.net/image/030/2016/05/22/804126_20160522135644_339_0001_99_20160522184806.jpg?type=w540" /><em class="img_desc">
구글의 조립형 스마트폰 아라/사진=연합뉴스</em></span><br />5.3인치의 아라 스마트폰은 각종 모듈을 탈부착할 수 있는 6개의 슬롯이 있다. LG전자의 G5는 하단부 모듈만 교체 가능한 반면, 조립PC처럼 스피커와 고성능 카메라 등의 부품을 입맛대로 끼울 수 있는 방식이다. 차세대 아라 프레임이 나오더라도 호환이 가능하다.<br /><br />
<span class="end_photo_org"><img src="http://imgnews.naver.net/image/030/2016/05/22/804126_20160522135644_339_0002_99_20160522184806.jpg?type=w540" /><em class="img_desc">구글이 공개한 모듈 스마트폰 프로젝트 `아라` 이미지</em></span><br />구글은 그동안 프로젝트 `아라(ARA)`를 앞세우며 사이트에 소프트웨어개발키트(SDK)를 공개했다. 여러 개발자들이 모듈 개발에 참여할 수 있도록 한 것이다. 프로젝트 `아라`는 2012년 비밀 프로젝트로 시작돼 2013년에 선보였다. 지난 해 일부 부품이 선보였으나 그간 제품 실물이 나오지 않았다가 올해 들어서야 구체적인 청사진을 제시하게 됐다.<br /><br />함지현기자 goham@etnews.com <span style="display: block; font-size:14px;">[Copyright ⓒ 전자신문 & 전자신문인터넷, 무단전재 및 재배포 금지]</span></span>
    <!-- // 본문 내용 -->
    </div>

아래는 제가 짠 코드들입니다. 컨트롤러

 def index

        require 'open-uri'
        require 'nokogiri'



        @img_urls = Array.new 
        @table_hsh = Array.new

        @url ="http://news.naver.com/main/read.nhn?mode=LSD&mid=shm&sid1=105&oid=030&aid=0002480868"
        @page = Nokogiri::HTML(open(@url), nil, 'EUC-KR')

        @title = @page.search("title").text

        @title_edit = @title.split(':')[0]
        @content = @page.css('#articleBodyContents').text
        @img_urls = @page.css('.end_photo_org img').map{|i| i['src']}

        @table_hsh << {:imgs => @img_urls }

    end

<h1>Title</h1>
<%= @title_edit %>

<h1>Article Contents</h1>
<%= @content %>


<h1>Image</h1>
<table>
    <tr>
        <% @table_hsh.each do |row| %>
          <% i = 0 %>
            <% row[:imgs].each do |img_url| %>
             <td> <img src=<%=img_url %>, width="500" , height="400"> </img></td>
            <% i = i + 1 %>
          <% end %>
        <% end %>
    </tr>
</table>

제가 원하는 것은 아래와 같은 형식으로 제가 크롤링하는 사이트의 HTML코드를 유지하면서 크롤링하는 것입니다. 항상 도움을 많이 받고 있습니다. 감사합니다.

이미지

1답변

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.