סקריפט להורדת קבצים עם מספר רץ.
-
איך אפשר ליצור סקריפט להורדת קבצים עם מספר רץ.
לדוגמא אם אני מעוניין להוריד דף מסוים מתןוך מסכת חולין בהיברו בוקס אני לוקח את הקישור הזה:
http://beta.hebrewbooks.org/pagefeed/hebrewbooks_org_36085_1.pdfיש לנו את מס' הספר בסוף וגם את העמוד של הספר.
אם אני ירצה להוריד כמה דפים אני יצטרך לקדם את האינדקס ב 1 עד המספר שאני מעוניין.בקיצור איך עושים את זה בצורה קלה.
-
Powershell
תפתח את העורך קוד שלו - תקליד ISE בתפריט המשימות.
תדביק את הקוד הבא:For ($i=1; $i -le 10; $i++) { $url = "http://beta.hebrewbooks.org/pagefeed/hebrewbooks_org_36085_$i.pdf" Invoke-WebRequest $url -OutFile "c:\temp\$([System.IO.Path]::GetFileName($url))" }
בשורת הFor יש 1 ו10 זה הטווח.
בשורה של url יש את הכתובת עם ה$i שמוחלף כל פעם במספר המתאים. -
FlashGet עושה את אותה עבודה..
(לא תמיד צריך סקריפטים ו PS.. למרות שזה הרבה יותר מגניב..)
הורדה ישירה
אתר התוכנהעריכה:
מקווה שאני זוכר נכון שזה קיים, עשיתי שימוש בזה דיי מזמן. -
@dovid אמר בסקריפט להורדת קבצים עם מספר רץ.:
$([System.IO.Path]::GetFileName
נהנתי, זה hack, אבל זה עובד (במקרה שאין
?
או#
בסוף), (תגיד תודה ל-unix ש-/
נחשב כ-directory seperator). מעניין שלא עמדו על כך פהכמו"כ הקוד שלי לא מושלם כי השמירה פה תופסת את השם מהנתיב שזה לא הצורה בה הדפדפן עושה שזה לקחת מההידר content-disposition.
אם אני זוכר נכון, גם wget לא תומך ב-content-disposition אבל curl כן תומך.
עריכה: כנראה שאני לא זוכר נכון. ב-wget יש --content-disposition וב-curl יש -OJ
-
@dovid אמר בסקריפט להורדת קבצים עם מספר רץ.:
@yossiz גם בps יש range אבל השימוש בו יותר מסורבל מבבש.
ואיך באמת זה נראה?
1..10|%{curl.exe -OJ "http://beta.hebrewbooks.org/pagefeed/hebrewbooks_org_36085_$_.pdf"}
נ. ב. כהיום curl מובנה בווינדוס 10. אם לא נמצא אפשר להוריד מפה
-
-
@dovid אמר בסקריפט להורדת קבצים עם מספר רץ.:
אבל הפסדת את השם
אין שם לקובץ. אתה מתכוון לעשות עוד בקשה לקבל את שם הספר?
@yits לא תוכל להוריד בדרך זו יותר מ-40 עמודים ראשונים. אם יש לך חשבון, תצטרך להוסיף cookie.
ואיך עושים שזה יישמר כ JPG?
ממירים ל-jpg ע"י imagemagick וכדומה
-
@yits אני שם לב עכשיו שהאיכות של הקובץ באתר לא כמו בתוכנה. אני רואה שיבוש כמו מה שמתקבל מכיווץ JPEG.
אם זה לצורך ספר דפוס כדאי להשתמש בתוכנה. שם אין הכיווץ פוגע באיכות כי הוא jbig2 (ליתר דיוק JB2 של DJVU אבל זה אותו רעיון) שזה lossless. (אולי תוכל לשפר ע"י threshhold)