יום ראשון, 30 בנובמבר 2008

יאהו צינורות בע"מ

לאחרונה (שוב באיחור) גיליתי את השירות החדש Yahoo Pipes. ובכן, מה זה? ככחח.... אוקי: זה שירות שמקבל מספר מקורות מידע (דפי ווב, פידים של RSS, קלט מהמשתמש) כקלט, ומאפשר באופן תיכונתי מבוסס ממשק גרפי, לפעול על מקורות המידע (איחוד, פילטור, הוספה, חיפוש, וכ"ו), ובסופו של דבר לפלוט מקור מידע בודד.

דוגמה קלאסית לפעולתו של "צינור" הוא מעבר סידרתי על פיד החדשות של הניו יורק טיימס, כאשר לכל אחת מהידיעות שבפיד (הפיד הוא אוסף של ידיעות) מוצמדת התמונה הרלוונטית ביותר שחיפוש של מלל הידיעה מעלה מתוך אתר התמונות פליקר. הצינור פולט את אוסף ידיעות שכל אחת מהן כוללת את התמונה שהוסיף לה הצינור.

ליאור ואני מחפשים דירה לשכור בת"א, וחשבתי ליצור צינור שיאחד לפיד אחד את כל רשימת הדירות הפנויות במרכז ת"א מתוך כל האתרים הרלוונטים (יד2, וין-וין, והומלס). הצינור ימיין את הדירות לפי תאריך, ויסנן מודעות כפולות. כן, זה יהיה נהדר ויחסוך זמן מבוזבז!
התבדתי מייד. מסתבר שאף אחד מן האתרים הללו אינו מספק פיד RSS (שלא כמו קרייגליסט האמריקני, לדוגמה). כנראה שבשוק הישראלי הקטן מעט התוכן שיש לך באתר הוא כל מה שיש לך. עליך לשמור עליו בשבע עיניים, ובטח לא לסלול כביש לגנבי הרכב שעתידים לפשוט עליך. יד2 למשל אפילו לא מציג את מספר הטלפון של המודעה בלי לעייף את המשתמש עם הזנת קאפצ'ה.

התפשרתי על יצירת צינור, חסר שימוש אך מבדר, שיאחד את הפידים של שני האתרים שלי (gilinachum.com ו- javatuning.com) לפיד אחד. יאללה.
האתר javatuning כתוב באנגלית, ורציתי שהפיד המאוחד יהיה על טהרת העברית, השתמשתי במנוע התרגום של גוגל לתרגם את פניני החוכמה מלעז לשפת הקודש. שירות התרגום של גוגל לא מוכן לתרגם פורמט פיד (text/XML) אלא רק דפי ווב (text/html). אני לא מכיר שירות אונליין אחר שמתרגם משפטים שלמים מאנגלית לעברית (babelfish לא עושה את זה) לפיכך התפשרתי על לתרגם את הדף האתר ולא את פיד ה- RSS של. גוגל החזיר לי דף ווב מתורגם לעברית מגוכחת. נו, לא משנה, זה רק בשביל הכיף במילא.
בשביל להפוך את דף העברית המקווצ'צ'ת בחזרה לפיד RSS -השתמשתי בשירות feedity.com (הכי סובלני לעברית שמצאתי). דרך אגב, טרם לשימוש הישיר בפידיטי, כן ניסיתי לעשות reuse ל pipe פידיטי קיים, שמישהו כבר כתב, אבל משהו לא עבד שם אז זנחתי את הרעיון.
פידיטי החזיר לי פיד RSS עברי, אך עם הרבה בעיות טכניות (שנתקן בהמשך).
כעת, היו לי שני פידים: אחד בעברית, ואחד בעברית מקומטת. השתמשתי בהם כמזון ל- pipes.

אוקי, אנחנו בתחילת הפייפ עכשיו: ראשית, הרצתי מספר פעולות לתיקון ה- title של הפיד שהחזיר פידיטי. לאחר שזה סודר, איחדתי בין 2 הפידים (union) ונגשתי למיין אותם: מכיוון שתאריך הידיעות של javatuning אבד אי שם בדרך, התפשרתי על מיון לקסיקוגראפי (מילה פלצנית למיון א"ב).
בסיום זרקתי את הפיד המאוחד והממויין ל- output. וווואלה! (בצרפתית לא בערבית) הפיד המאוחד שלי חם מהצינור.
הערה לעתיד: הפיד מכיל הרבה מרכיבים חיים (שני אתרים שלי, תרגום גוגל, פידיטי, יאהו צינורות) ולכן ככל שחולף הזמן מתאריך הפרסום המקורי של פוסט זה, כך גודל הסיכוי שאחד מהרכיבים ינפח את נשמתו או ישנה את צורתו, במקרה שכזה הצינור כולו יתפרק לרסיסים (יענו, לא יעבוד). אם כך אכן ארע, קבלו זאת בהבנה ונסו להתספק בהתרפקות על התמונה הבאה שמראה את סורס הפייפ:


הביקורת שלי על השירות:

  1. אין reuse אמיתי אלא רק דרך שכפול שמתנתק מהמקור. תיקון דורש תיקון נפרד ומנותק בכל השכפולים.

  2. להוסיף שיהיה כוח....

תגובה 1:

  1. ברוך הבא לעולם :) יש כמה בעיות עם הפייפס, שלמזלך לא נתקלת בהם.. השירות לא תמיד פעיל, לא תמיד שומר את הגירסה האחרונה, והרסס פיד שלהם לא תקני.. אני לא מדבר על עברית.

    בקשר לריוז, זה אפשרי ע"י יצירת של פייפ וחיבור לפייפ אחר כמקור. ז"א היו לי שלושה פייפים עם מכנה משותף.. יצרתי רביעי עם המכנה המשותף (אוסף פידים, מנטרל כפולים וכו) ונתתי אותו כמקור לשלושה האחרים.

    השבמחק