[첫화면으로]YahooPipes

마지막으로 [b]

18 번째 수정본
1. yahoo pipe 란
2. 만들어보자
2.1. 단순한 포워딩
2.2. 항목의 값을 외부 입력으로 받음
2.3. 뉴스그룹에서 특정 작성자의 포스팅만 골라내기
2.4. 댓글 수가 많이 달린 게시물만 골라내기
2.5. 둘 이상의 피드를 합쳐서 하나의 피드로 만들기
2.6. 여러 피드를 합치기 - 루프 모듈을 사용하는 예
3. 참고
4. Comments

1. yahoo pipe 란

http://pipes.yahoo.com/pipes/

RSS 데이타를 가져와서, 제공되는 모듈들을 조립하여 데이타에 원하는 가공을 한 후 새로운 RSS로 출력해주는 서비스.

음, 한참 떠들썩할 때는 관심 없었는데, 이거 잘 쓰면 굳이 내가 끙끙대며 프로그램 짜지 않고 꽤 쉽게 RSS를 만들어낼 수 있겠다...고 생각을 했는데 막상 끄적거려보니 그냥 프로그래밍하는 게 나을 것 같기도 하고 -ㅅ-;;;

프로그래밍 경험이 전혀 없는 사람에게는 상당히 유용한 툴일 듯 하다. 단 HTML소스나 RSS소스를 보면서 "요걸 요렇게 고쳐주면 되겠군..."이라고 판단할 수 있어야 하겠고, 본격적인 조작을 하려면 정규표현식을 알아야 하는데 이게 초심자에게는 만만하진 않겠다. 얼핏 보니 Perl/정규표현식의 문법을 거의 동일하게 쓸 수 있는 듯 하다.

각각의 모듈에다가 주석을 달 수 있으면 나중에 수정할 때나 다른 사람이 만든 파이프를 볼 때 이해하기 더 쉬울텐데 그럴 수가 없어서 아쉽다.

2. 만들어보자

2.1. 단순한 포워딩

아마도 제일 단순한 형태.

희한하게 [한RSS]에서 저 피드를 등록을 하려고 하면 제대로 분석이 안 되는지 에러가 나면서 등록이 되지 않는다. 혹시나 해서 이 RSS를 고스란히 받아서 그대로 내보내주는 파이프를 만들어 봄:

Upload:pipe_simple_forwarding.png
Sources 카테고리의 Fetch Feed(1) 모듈 -> Pipe Output

결국 아무것도 변경하지 않고 원래의 피드를 그대로 사용하는 셈인데, (구체적인 포맷은 파이프를 거치면서 바뀌어있음) 이건 등록이 된다. :-D

2.2. 항목의 값을 외부 입력으로 받음

위의 파이프에서, 원본 피드를 고정하는 게 아니라 사용자가 입력한 값을 받아서 처리하게 한다.

Upload:pipe_simple_forwarding_user_input.png
User Inputs-URL Input(2) -> Sources-Fetch Feed(3) -> Pipe Output

이 파이프를 실행하면 "Feed URL"을 입력받은 후에 그 값을 원본 피드의 주소로 지정하여 처리한다.

그 결과를 RSS로 만들 경우는 RSS주소의 뒷부분에 &feedurl=입력한주소 형태로 덧붙는다. "feedurl"은 모듈에서 "Name"항목에 넣어준 값.

2.3. 뉴스그룹에서 특정 작성자의 포스팅만 골라내기

이 그룹에는 글이 너무 많이 올라와서 다 챙겨보기 힘들다. 보통은 제목을 쓱 보고 골라서 보는 편이다. 그런데 특정한 조건에 해당되는 포스트, 예를 들어 어떤 단어가 들어가 있다던가, 작성자가 특정인물인 경우만 따로 RSS로 만들어 보고 싶다면:

Upload:pipe_author_filter.png
Fetch Feed(4) -> Operators-Filter(5) -> Pipe Output

2.4. 댓글 수가 많이 달린 게시물만 골라내기

주인장Perl로 작성한 스크립트를 사용하여 클리앙 게시판 목록을 보고 RSS 피드로 만들어서 사용하고 있었고, 댓글이 많이 달린 게시물만 따로 추려서 별도의 RSS도 만들었는데, 이걸 파이프로 만들어 봄:

Upload:pipe_condition_filter.png

2.5. 둘 이상의 피드를 합쳐서 하나의 피드로 만들기

아주 간단하게 유용한 피드를 만들 수 있는 방법 중 하나.

다음의 [만화속 세상] 같은 경우는 개별 작품마다 RSS를 제공한다. 물론 이것도 매우 감지덕지한 일이다. 그렇지만 RSS리더에 일일이 만화마다 따로 등록하자니 등록된 피드 갯수가 많아져서 정신없다.

두 피드를 합쳐서 하나의 피드로 만들어보자:

Upload:pipes_union_1.png
두 개의 Fetch Feed(12) -> Operators-Union(13) -> Pipes Output

2.6. 여러 피드를 합치기 - 루프 모듈을 사용하는 예

3. 참고

4. Comments

이름:  
Homepage:
내용:
 

<trackbackreceived>

컴퓨터분류
찾아보기:
Fetch Feed   1, 3, 4, 6, 12Filter   5, 9Number Input   10Regex   8
Rename   7Simple Math   11Union   13URL Input   2

이 수정본 편집일: 2009-4-13 11:31 pm (변경사항 [d])
1761 hits | Permalink | 변경내역 보기 [h] | 현재 수정본 보기 | 18 번째 수정본 소스 보기