הקלטת תוכניות מאתר גל"צ

אתר גלי צה"ל הוא אתר עשיר בתכנים משידורי התחנה (ובנוי קצת עקום). לכאורה זהו פתרון מצוין עבור כל בעלי נגני הmp3 למיניהם אך מתברר שלא. האתר מאפשר האזנה דרכו בלבד ולא מאפשר להוריד את התוכניות למחשב ולנגן.

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

שימו לב שיש צורך בהתקנת החבילה mplayer (להתקנה באובונטו) ובתלויות שלה כדי להפעילו.

#!/bin/bash
if [ "$1" == "" ] && [ ! -e res ]; then
    echo "Enter url:"
    read url
else
    url=$1
fi

if [ ! -e res ]; then
    wget $url -O html
    cat html | grep -o "http.*wma" > res
    rm html
fi
for x in $(cat res)
do
    NAME=$(echo $x | cut -d '/' -f6)   
    mplayer -dumpstream $x -dumpfile $NAME
echo "$x" >> res2
    sed -i 1d res

done

rm res

ניתן גם להורידו מכאן.

הסקריפט מקבל את כתובת העמוד כפרמטר או כקלט, ניגש לעמוד ואוסף ממנו את כל קישורי התוכניות ואז עובר עליהן ומקליט אותן. כתובות של תוכניות שהוקלטו כבר נשמרות בקובץ res2.

יש למקם את הקובץ מתיקיה שאליה אתם רוצים שירדו כל פרקי התכנית הנבחרת, לתת לו הרשאות ריצה ולהריץ אותו. ניתן גם להפסיק את הפעולה שלו באמצע ולאחר מכן להמשיך מהמקום שהוא הופסק.

כרגיל, בשביל מחמאות, טענות, דיווחי באגים ושוקולדים יש את התגובות כאן למטה.

אתה יכול לעקוב אחר כל התגובות לרשומה זו דרך הזנת RSS 2.0.באפשרותך להשאיר תגובה, או לשלוח טראקבק מהאתר שלך.
16 תגובות
  1. אבי אברהם Mozilla Firefox Windows אומר:

    ישנה קהילה מאוד פעילה שמקליטה חלק מהתוכניות שלא ניתן לשמוע דרך האתר של גל"צ ושם ניתן גם להוריד את הקבצים למחשב
    http://i.start.co.il/groups/glz/forum/t/1878.aspx

  2. חתול Mozilla Firefox Linux אומר:

    @אבי אברהם: תודה רבה על הקישור, לא הכרתי את האתר. אני מוסיף את התכניות שם להורדות שלי.

  3. שי Mozilla Firefox Debian GNU/Linux אומר:

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

  4. חתול Mozilla Firefox Linux אומר:

    @שי: שעה היסטורית לא זמין להאזנה באתר גל"צ. הם מוכרים את התכנית על קלטות.
    אפשר להוריד את התכנית מהקישור שאבי הביא בתגובה למעלה.

  5. שי Mozilla Firefox Debian GNU/Linux אומר:

    @חתול: בעמוד שקישרת אליו, יש קישור ל"עוד בשעה היסטורית", שמוביל לעמוד
    http://glz.co.il/newsArticle.aspx?newsid=55068

    שמלא קישורים לעמודים שמכל אחד מהם אפשר להוריד פרק. מבחינת הפורום, התכנית היא "תכנית עבר\בחופשה", ויש שם רק מספר פרקים מהעבר.

  6. חתול Mozilla Firefox Linux אומר:

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

  7. שי Mozilla Firefox Debian GNU/Linux אומר:

    טוב, כמו שחשבתי: אם נחליף בסקריפט המקורי את הפקודה

    wget $url -O html

    בפקודות

    wget $url -O newsArticle.aspx -r --level=1 -A'newsArticle.aspx'
    mv newsArticle.aspx html

    זה אמור להספיק.

    (החלפת השם בפקודה wget מ־html ל־newsArticle.aspx נובעת מזה ש־wget מחייבת גם את הקבצים שנשמרו לעמוד במגבלות שנקבעו ע"י A-).

    מצד שני, בתכנית הספציפית הזאת זמינים רק הפרקים שמאז נובמבר. הפרקים הישנים יותר, אכן, זמינים כנראה רק דרך הפורום או הקלטות.

  8. שי Mozilla Firefox Debian GNU/Linux אומר:

    אה, וצריך להחליף את השורה

    $x >> res2

    במשהו יותר נכון

    echo "$x" >> res2
  9. חתול Mozilla Firefox Linux אומר:

    @שי: הצלחתי לכתוב סקריפט שיעשה את זה אבל הפתרון שלך הרבה יותר פשוט. רק שים לב שכתיב לא אחיד בגל"צ, לפעמים הוא newsArticle ולפעמים NewsArticle.
    השאלה עכשיו היא כיצד ניתן לשלב את זה לתוך הסקריפט המקורי.
    ותודה על התיקון. לצערי הידע שלי בbash הוא לא גדול. מה ההבדל?

  10. אריאל Mozilla Firefox Windows אומר:

    איזה יופי! אני הולך להשתמש בסקריפט הזה די הרבה. וגם התוכניות שאנשים קישרו אליהן נשמעות מאוד מעניינות.

    חבל רק שצריך את כל הסקריפטים האלה ושגלי צה"ל לא מאפשרים הורדה ישירה של התוכניות.

  11. שי Mozilla Firefox Debian GNU/Linux אומר:

    באמת לא שמתי לב לחוסר האחידות הזה; אפשר לטפל בו בעזרת עוד דגלים. גם צריך דגלים נוספים בגלל שבחלק מהקישורים לעמודים הם הולכים ל־glz.co.il ובחלק ל־www.glz.co.il. הפקודה המלאה אצלי עכשיו היא

    wget $url -O newsArticle.aspx -r --level=1 -A'newsArticle.aspx' -H -Dglz.co.il --ignore-case

    הדגלים החדשים, מלבד ignore-case (שלא בדקתי) הם:

    H: מרשה ללכת לשרתים אחרים…
    Dglz.co.il: …אבל רק תחת שם המתחם של גל"צ

    כמו שאמרתי, מה שצריך הוא פשוט להחליף את פקודת ה־wget בסקריפט המקורי בפקודת ה־wget שלי, ואז לשנות את שם הקובץ ל־"html" (זו פקודת ה־mv).

    לגבי התיקון: השורה המקורית מנסה לבצע את כתובת הקובץ כאילו היא פקודה, ולשלוח את הפלט לקובץ res2. אצלי, לפחות, זה תמיד נכשל והקובץ res2 נשאר ריק. הפקודה שכתבתי במקומה מדפיסה את כתובת קובץ הצליל לתוך res2.

  12. וואי איזה יופי לא ידעתי שאפשר לעשות דברים כאלה יש באמת אחלה דברים בגלצ ואני לא מוצאת את עצמי יושבת ושומעת אז אם תיהיה איזה הופעה טובה שוב או משהו אני עכשיו יודעת מה לעשות!

    תודה רבה :)
    ענת

  13. חתול Mozilla Firefox Linux אומר:

    @ענת: שימי לב שכתבתי על הורדת התוכניות למשתמשי מערכת ההפעלה לינוקס.
    הדרך הזאת לא תעבוד למשתמשי חלונות אבל את יכולה לנסות את Orbit שמיועדת להם.

  14. גלטזזז Internet Explorer Windows אומר:

    הדרך להוריד תוכניות מאתר גל"צ באמצעות פלאשגט:
    הקלק על הלינק להאזנה באמצעות מקש העכבר הימני ובחר ב"העתק קיצור דרך" (לחילופין, הקלק במרכז חלון ההאזנה ובחר ב"מאפיינים" והלינק יופיע שם), הדבק את הלינק בתוכנת ההורדה FlashGet אבל! בטרם תאשר את תחילת ההורדה – שנה את תחילת הלינק כך שבמקום http יהיה mms

  15. חתול Mozilla Firefox Linux אומר:

    גלטזזז: תודה על העזרה, אבל אני משתמש בלינוקס ואין לי FlashGet וחיפשתי דרך להוריד קבצים רבים ביחד.
    למשתמשי חלונות אני ממליץ על Orbit שיכול להוריד קבצים רבים ביחד וגם אין בו צורך להחליף את תחילת הקישור ל־mms.

כתיבת תגובה

האימייל שלך לא יוצג באתר. (*) שדות חובה מסומנים

*