מאת ג'ינה טראפני
הדפדפן שלך עושה עבודה טובה בהבאת מסמכי אינטרנט והצגתם, אבל יש מקרים שבהם אתה צריך מנהל הורדות כוח נוסף כדי לבצע את עבודות ה-HTTP הקשות יותר.
תוכנית Unix רב-תכליתית, מהבית ספר ישן, בשם Wget היא כלי קטן מאוד שניתן לפריצה ושימושי שיכול לטפל בכל צרכי ההורדה שלך. בין אם ברצונך לשקף אתר אינטרנט שלם, להוריד מוזיקה או סרטים אוטומטית מקבוצה של יומני אינטרנט מועדפים, או להעביר קבצים ענקיים ללא כאב בחיבור רשת איטי או לסירוגין, Wget בשבילך.
Wget, "משחזר הרשת הלא אינטראקטיבי", נקרא בשורת הפקודה. הפורמט של פקודת Wget הוא:
wget [option]... [URL]...
כתובת האתר היא הכתובת של הקבצים שאתה רוצה ש-Wget יוריד. הקסם בכלי הקטן הזה הוא התפריט הארוך של האפשרויות הזמינות שמאפשרות כמה משימות הורדה מסודרות באמת. הנה כמה דוגמאות למה שאתה יכול לעשות עם Wget וכמה מקפים ואותיות בחלק [אפשרות] של הפקודה.
שיקוף אתר אינטרנט שלם
נניח שאתה רוצה לגבות את הבלוג שלך או ליצור עותק מקומי של ספרייה שלמה של אתר אינטרנט לארכיון או קריאה מאוחר יותר. הפקודה:
wget -m https://ginatrapani.googlepages.com
ישמור את שני הדפים הקיימים באתר ginatrapani.googlepages.com בתיקייה ששמה בדיוק זה במחשב שלך. ה-m בפקודה מייצג "שיקוף את האתר הזה".
נניח שאתה רוצה לאחזר את כל הדפים באתר בתוספת הדפים שהאתר מקשר אליהם. היית הולך עם:
wget -H -r --level=1 -k -p https://ginatrapani.googlepages.com
פקודה זו אומרת, "הורד את כל הדפים (-r, רקורסיבי) ב-https://ginatrapani.googlepages.com בתוספת רמה אחת (—level=1) לכל אתר אחר שהוא מקשר אליו (-H, span hosts), וכן המיר את הקישורים בגרסה שהורדת כדי להצביע על הגרסה שהורדת (-k) של האתרים האחרים, וקבל את כל הרכיבים כמו תמונות המרכיבות כל עמוד (-p)."
אזהרה: היזהרו, אלה עם כוננים קשיחים קטנים! סוג זה של פקודה יוריד הרבה נתונים מאתרים שמקשרים הרבה (כמו בלוגים)! אל תנסה לגבות את האינטרנט, כי יגמר לך שטח הדיסק!
המשך הורדות קבצים גדולים בחיבור מתקלקל
נגיד שאתה מחזיר את ה-wifi של השכן וכל פעם שמישהו עושה פופקורן במיקרוגל אתה מאבד את החיבור, והורדת הווידאו שלך (שובב אתה!) לא מפסיקה להתחרפן באמצע הדרך. ישיר ל-Wget לחדש הורדות חלקיות עבור קבצים גדולים בחיבורים לסירוגין.
כדי להגדיר את Wget לחדש הורדה מופרעת של 16MB זה "Mavericks Surf Highlights 2006: Wipeouts"קיצור מ-Google Video, השתמש ב:
wget -c --output-document=mavericks.avi "https://vp.video.google.com/videodownload?version=0&secureurl=qgAAAJCWpcRd5eI2k3sm3LWJZMjLyLFiTxk_KqUrRYbrzLTEw8hwMV30m3MRz6rYMTxGqWIfWMQjNJsP0fNXUMc34jzoPcy6z-qHde5UVD29Po6_9b_-d3J5AQpVROUPRqzkJriangEl2IMkKBJd08Q7TTJIAC_r6XID-fNYPLKHm1KRvx0smOslivNLGmyZsCsZmVNVN0jaw5-dloWtzPlI86zIubh1XvJsTg2u_YaHcaAB&sigh=-BbV2h_bIFVuVg4D-h6MUTxuErM&begin=0&len=139433&docid=6059494448346363884"
(מתנצל על כתובת האתר המהממת והלא עוטפת.)
האפשרות -c ("המשך") מגדירה את Wget לחדש הורדה חלקית אם ההעברה מופרעת. כמו כן, תבחין שכתובת ה-URL מופיעה במרכאות, הכרחית לכל כתובת עם &'s בה. כמו כן, מכיוון שהכתובת הזו כל כך ארוכה, אתה יכול לציין את שם קובץ הפלט במפורש - במקרה זה, mavericks.avi.
תזמן הורדות של קובץ לפי שעה
הדבר היפה בכל סקריפט של שורת פקודה הוא שקל מאוד להפוך אותו לאוטומטי. לדוגמה, אם היה קובץ שמשתנה כל הזמן שרצית להוריד כל שעה, למשל, אתה יכול להשתמש ב-cron או ב-Windows Task Scheduler ו-Wget כדי לעשות זאת, או אם יש קובץ גדול מאוד שאתה רוצה שהמחשב שלך יביא. באמצע הלילה בזמן שישנת במקום ברגע הזה שבו אתה צריך את כל רוחב הפס שלך כדי לבצע עבודה אחרת. אתה יכול בקלות לתזמן את פקודת Wget לפעול במועד מאוחר יותר.
כהוכחה לקונספט, אתמול תזמנתי הורדה לפי שעה של תרשים התעבורה היומי של Lifehacker לפעול באופן אוטומטי. הפקודה נראתה כך:
wget --output-document=traffic_$(date +\%Y\%m\%d\%H).gif "https://sm3.sitemeter.com/rpc/v6/server.asp?a=GetChart&n=9&p1=sm3lifehacker&p2=&p3=3&p4=0&p5=64\%2E249\%2E116\%2E138&p6=HTML&p7=1&p8=\%2E\%3Fa\%3Dstatistics&p9=&rnd=7209"
שימו לב לשימוש בפרמטרים %Y ו-%m datetime אשר מביאים לשמות קבצים ייחודיים, כך שבכל שעה הפקודה לא תחליף את הקובץ באותו שם שנוצר בשעה שלפני כן. שימו לב גם שצריך לחמוק מה-% עם קו נטוי אחורי.
סתם בשביל הכיף, זרקתי גיף מונפש קטן של תמונת התרשים השעה, שמציגה את תנועת התנועה של Lifehacker אתמול מ-14:00 עד חצות:
הורדת מוזיקה אוטומטית
הטכניקה האחרונה הזו, שהוצעה על ידיג'ף וין, הוא ללא ספק השימוש האהוב עלי ב-Wget. בימים אלה יש טונות של ספריות, אגרגטורים, מסננים ובלוגים שמצביעים על סוגי מדיה מעניינים. באמצעות Wget, אתה יכול ליצור רשימת קבצי טקסט של האתרים המועדפים עליך שאומרים, מקשרים לקבצי MP3, ולתזמן אותו כך שיורד אוטומטית כל קובץ MP3 חדש שנוספו מאתרים אלה בכל יום או שבוע.
ראשית, צור קובץ טקסט בשם mp3_sites.txt, ורשום כתובות אתרים של מקורות המוזיקה המועדפים עליך באינטרנט, אחת בכל שורה (כמוhttps://del.icio.us/tag/system:fil…אוֹstereogum.com). הקפד לבדוק את התכונה הקודמת שלי ב-איך למצוא מוזיקה בחינם באינטרנטלרעיונות נוספים.
לאחר מכן השתמש בפקודה הבאה Wget כדי לצאת ולהביא את ה-MP3 האלה:
wget -r -l1 -H -t1 -nd -N -np -A.mp3 -erobots=off -i mp3_sites.txt
מתכון Wget זה מוריד באופן רקורסיבי רק קבצי MP3 המקושרים מהאתרים הרשומים ב-mp3_sites.txt שהם חדשים יותר מכל אלה שכבר הורדת. יש שם עוד כמה מפרטים - כמו לא ליצור ספרייה חדשה לכל קובץ מוזיקה, להתעלם מ-robots.txt ולא לזחול עד לספריית האב של קישור. ג'ף מפרק את הכל בשלופוסט מקורי.
הדבר הגדול בטכניקה זו הוא שברגע שהפקודה הזו מתוכננת, אתה מקבל תיבת נגינה מסתובבת תמידית של מוזיקה חדשה ש-Wget מביאה עבורך בזמן שאתה ישן. עם סט טוב של מקורות מהימנים, לעולם לא תצטרך לחפש מוזיקה חדשה שוב - Wget תעשה את כל העבודה בשבילך.
התקן את Wget
רוצה לנסות את כל זה? משתמשי Windows, אתה יכולהורד את Wget כאן; משתמשי מק,לך לכאן. חלופה למשתמשי Windows המעוניינים בטוב יותר של לינוקס היא להוריד ולהתקין את אמולטור יוניקסציגוויןשכולל את Wget ועוד שלל כלי עזר אחרים של nixy.
לקבלת ההסבר המלא על כל רוטב האפשרויות הסודיות של Wget, הקלדwget --help
או בדוק את הגרסה המלאהWget מדריך מקוון. לא משנה מה תהיה משימת ההורדה שלך, שילוב כלשהו של האפשרויות הנרחבות של Wget יעשה את העבודה בדיוק כמו שצריך.
יש קוראי Lifehacker מעריצי Wget? בשביל מה אתה משתמש בכלי הרב-תכליתי הזה? ספר לנו בתגובות או בטיפים ב-lifehacker.com.
ג'ינה טראפני, העורך של Lifehacker, מבלה יותר מדי זמן בבדיקת מתכונים שונים של אפשרויות Wget. התכונה החצי שבועית שלה,חנון לחיות, מופיע מדי רביעי ושישי ב-Lifehacker. הירשם ל-עדכון חנון לחיותכדי לקבל תשלומים חדשים בקורא החדשות שלך.