ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Yahoo Pipes 샘플
    컴퓨터 2014. 11. 9. 14:08
    반응형

    Yahoo Pipes 를 이용한 rss 만들기를 궁금해 하시는 분들이 계셔서 

    강좌를 쓰기에는 실력도 부족하고 게다가 게으르기 까지 하니 쌍방이 좋은 방법으로

    예제 하나를 올려 두면 게으른 저도 좋고 보시는 분들도 나름 공부(고생?)도 되고 

    해서 오토 타임즈의 시승기(개인적으로 자동차 시승을 좋아하다 보니)를 RSS로 만드는 예제를 한번 올려 본다


    오토타임즈 시승기 페이지(http://autotimes.hankyung.com/trial_run/) 


    이 페이지를 Pipes를 이용하기 위해서는 XPath 에 대한 기본지식이 필요 하니 검색을 통해 한번 보시길

    페이지 소스를 보기를 해서 원하는 내용을 뽑아 내야 한다



    본격적으로 Pipes를 이용해서 rss를 만들기 위해서는 yahoo 계정으로 접속해서

    pipes.yhaoo.com 으로 접속해서 새 Pipes를 하나 만든다

    필요한 것은 

    Yql -> Create Rss -> regex 

    세개만 있으면 rss를 만드는데 충분하다

    먼저 yql에서 query 는


    select * from html where url="http://autotimes.hankyung.com/trial_run/" and charset="euc-kr" and xpath="//div[@class='cnt_area']/div/dl"


    를 주면 된다 url 오토타임즈 html 문을 euc-kr 캐릭터셋으로 읽어와서 cnt_area 클래스의 div 부터 자료를 가져온다

    여기서 우리가 반복적으로 필요한 부분은  //div[@class='cnt_area']/div/dl -> div(클래스 cnt_area) 내부의 div 내부의 dl 부분의 데이터만 있으면 된다

    이부분은 xpath 와 소스를 잘 살펴보면 된다 (강좌는 아니므로 그냥 통과)


    create RSS에서

    rss 의 TItle, Description , Link 를 뽑아 낸다 -> 제대로 만들면 좋겠지만 귀찮으므로 핵심 세가지 데이터만 일단 뽑아 온다

    yql의 결과물에서 


    제목부분은 item.dt.a.content

    내용은 item.dd.1.a.content

    링크는 item.dd.1.a.href


    에 있는 것을 확인할 수 있다


    마지막으로 Regex가 필요한 이유는 링크가 완전한 링크가 아닌 

    /apps/news.sub_view?popup=0&nid=08&c1=08&c2=00&c3=&nkey=201411051136361

    이런 형태로 나오므로 웹에서 클릭해 봤자 연결이 되지 않는다

    따라서 

    /apps/news.sub_view 

    부분을

    http://autotimes.hankyung.com/apps/news.sub_view

    로 교체해 줘서 웹에서 링크게 되게 변경한다


    이렇게 해서 만들어 주면 결과물은 



    이렇게 나온다


    게으른 자의 샘플이므로 혹시나 필요하신 분들은 참고하시길

    반응형

    댓글

Designed by Tistory.