انجمنهای فارسی اوبونتو
کمک و پشتیبانی => نرمافزارهای اینترنتی => نویسنده: Masoud92m در 21 دی 1391، 10:37 بظ
-
توی یه دایرکتوری از یک سایت تعدادی فایل mp3 هست و میخوام بدم به wget دانلود کنه، دستور رو به این شکل وارد کردم:
wget -c -np -r -A.mp3 http://example.com/music
خوب میره و mp3 ها و دانلود میکنه، مشکل اینجاست که از هر موزیک ۲ کیفیت 320 و 128 قرار داره، به نظم بهترین کار اینه که مشخص کنم فایل های مثلا تا 5 مگابایت رو دانلود کنه (نگاه که کردم تقریبا همهی موزیک های 128 تا 5 مگابایت بودن)
اما wget تنظیمی برای دانلود تا حجم مشخص داره؟ توی man و info چیزی دستگیرم نشد
گوگل کردم جایی Q رو نوشته بود، به این شکل:
wget -c -np -r -A.mp3 -Q5m http://example.com/music
اما در عمل کاری نکرد !
ممنون میشم راهنمایی کنید :)
-
خب این خیلی معقول نیست چون دبلیو گت قبل از گرفتن فایل که ایده ای از حجم نداره. Q هم فقط می گه «حجم دانلود کل از این بیشتر نشه» و فقط با سوییچ r کار می کنه و یک فایل رو قطع نمی کنه. تو هم اینو نمی خوای که وسط فایل دانلود قطع بشه. پس باید یک راه حل دیگه پیدا کنی. مثلا بنا به اسم فایل یا چنین چیزی. اگر لینک رو بدی می شه نگاه کرد و نظر بهتری داد و خودمون هم دانلود کنیم (((:
-
خوب همون اول دانلود میگه که حجم فایل چقدره، اگه بیشتر از اون حد تعیین شده من باشه دانلود نکنه دیگه !
خوب توسعه دهنده هاش چرا یه پارامتر برای این نذاشتن ;D
موزیک های اینجا:
http://dl.tehranmusic239.com/t/Sal91/Dey/
-
هاا چه دایرکتوری باحالی. متاسفانه چیزی با wget به ذهنم نمی رسه الان. ولی در سطح عملی، من هم گذاشتم دانلود بشه و می تونم وقتی دانلود تموم شد یک فایل فشرده از فایل های با حجم کمتر از فلان بهت بدم (با دستور find).
نکته: این بحث الان رسیده به نقض کپی رایت ... البته حدس می زنم... یکی از مدیران لطفا یک کاری بکنه! (: من قواعد مدیریت رو نمی دم. الان پست باید حذف بشه؟ یا تذکر بدن که پاک کنم؟ یا چی؟
-
ممنون از شما، اما بحث بیشتر یادگیری بود و خود آهنگ ها خیلی مهم نیست :)
پن: جادی جان بیخیال دیگه :D بذار شاید شد wget رو به سر منزل مقصود برسونیم ;)
-
http://unix.stackexchange.com/questions/16415/can-one-limit-the-max-file-size-to-download-using-wget
http://superuser.com/questions/121193/make-wget-not-download-files-larger-than-x-size
https://www.webhostingtalk.com/showthread.php?t=370987
-
کیان جان سرچ که کردیم (: خب جواب کاربردی ای نداره.
-
در مورد wget بله حق با شما است ولی توی یکی از لینکها گفته از curl استفاده کنید
-
خوب man curl رو خوندم curl گزینه ای برای دانلود فایل تا حجم مشخص داره به این شکل:
--max-filesize <bytes>
«نکتهی جالب اینه که انگار فقط اندازه فایل رو به بایت قبول میکنه و کیلوبایت و مگابایت سرش نمیشه !»
مشکل اینجاست که فکر کنم curl گزینه ای معادل r یا همون recursive که در wget وجود داره نداره
البته میشه لینک ها و در یک فایل متنی به curl داد (هر لینک توی یک خط) به این شکل:
xargs -n 1 curl -O < urls.txt
برای اینکه فایل های تا حجم مثلا 5 مگابایت رو دانلود کنه باید به بایت بنویسیم !
1024*1024*5=5242880
و شکل کلی:
xargs -n 1 curl -O --max-filesize 5242880 < urls.txt
اگه تا اینجا رو درست گفته باشم باید راهی پیدا کرد که بشه لینک mp3 ها رو به صورت بازگشتی (recursive) از یه دایرکتوری جدا کرد
ایده ای برای اینکار دارید ؟ :)
-
یک نرم افزار پیدا کن که این کار بازگشتی انجام بده خروجی رو پایپ کن به کرل!
با عبارت زیر می تونی مشخص کنی که همه ام پی تری ها رو دانلود کنه
*.mp3
به جای mp3، فایلهای ogg رو دانلود کن. کم حجم تره.
-
دانلود همه ogg های دیماه
wget -c -o logfile -r -P ~/ -A ogg http://dl.tehranmusic239.com/t/Sal91/Dey/
-
اگر به اون سرور دسترسی دارید کار بسیار آسونه
اگر دسترسی ندارید :
همه ی نشانی ها رو بریزید توی یک فایل متنی ( links.txt ) سپس اینجوری :for line in `cat links.txt`
do
FILE_SIZE=curl -sI $line | grep Content-Length | awk '{print $2}'
if [ $FILE_SIZE -gt 5000000 ]
then
echo $line >>dl.txt
fi
done
wget -c -i dl.txt
-
ممنون از راهنمایی دوستان، این کار با curl شدنی هست در صورتی که لینک ها رو داشته باشیم
نرم افزاری و یا راهی هست که بتونه لینک ها رو به صورت بازگشتی جمع کنه ؟ :)
-
از مغزتان و سورس آن برگه ای که میخواهید ازش فایل ها را بارگیرید ، بهره برید
-
نمیشه بهش گفت توی هر فایلی نوشته 128 نگیرش؟
-
نمیشه بهش گفت توی هر فایلی نوشته 128 نگیرش؟
http://ubuntuforums.org/showpost.php?p=12457525&postcount=5
-
نمیشه بهش گفت توی هر فایلی نوشته 128 نگیرش؟
http://ubuntuforums.org/showpost.php?p=12457525&postcount=5
ممنون از لینک ;)