루비에서 웹 크롤링 관련 질문입니다.


웹에 대해 공부하는 학생입니다. 루비로 인터넷 신문기사의 내용만을 뽑아오는 코드를 만들고 있습니다. 코드를 실행하면 신문기사의 텍스트를 뽑아올 수 있습니다. 코드는 아래와 같습니다.


    def index

        require 'open-uri'
        require 'nokogiri'

        @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
    end

신문기사의 코드는 아래와 같습니다.. 여기서 제가 궁금한 점은 기사의 이미지도 같이 뽑아 오고 싶은데 어찌 해야 될지 모르겠습니다. 텍스트 사이에 이미지가 2개 존재하는 데 이를 뽑아오려면 어떤 식으로 해야 될까요?

<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>


  • 2016년 07월 11일에 작성됨

조회수 169


1 답변


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

아래와 같이 .css를 이용해서 img의 src만 뽑아올 수 있습니다.

img_urls = @page.css('.end_photo_org img').map{|i| i['src']}
  • 2016년 07월 11일에 작성됨
    루비와 파이썬을 좋아합니다. 새로운 언어를 배우는것도 좋아해요. 모바일 게임도 조금 만들어 봤습니다.

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

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