لگو بازی با گنو/لینوکس: لیست دانلود در سه سوت
توسط: vahit
من امروز لازم داشتم که یه سری لینک رو از توی یه صفحهی وب پیدا کنم تا بتونم یکی یکی دانلودشون کنم. طبیعتاً مثه هیچ لینوکسکار دیگهای حوصلهی منم به این کار نمیرسه مخصوصاً اگه ابزار مورد نیاز رو داشته باشم. پس توی سه سوت مشکل رو حل میکنم:
سوت اوّل: سورس صفحهای رو که لینکها رو ارائه میده رو پیدا به شکل یه فایل متنی ذخیره میکنم و اسمش رو میزارم dirvers-source.txt. محتویات اون شبیه به خطوط زیر هستن:
1 2 3 4 5 6 7 |
<b>Chipset</b><br /> Intel Chipset Support for Microsoft Windows 7 (32-bit, 64-bit)<br /> Version : 9.3.0.1019<br /> Released : 18 Apr 2012<br /> File size : 1.52 MB<br /> File name : h1ic02ww.exe<br /> <a data-mce-href="http://download.lenovo.com/consumer/mobiles/h1ic02ww.exe" href="http://download.lenovo.com/consumer/mobiles/h1ic02ww.exe" target="_blank">Download</a></div> |
که همهی لینکهای مورد نظر شامل کلمهی exe هستن.
سوت دوّم: با دستور زیر لینکها رو از بین عبارتهای دیگه میکشم بیرون و توی فایل متنی دیگهای به اسم links.txt ذخیره میکنم.
1 |
grep -i exe drivers-source.txt | grep -iv file | cut -d "\"" -f2 | grep -iv , > links.txt |
خروجی این دستور به این شکل هست:
1 2 3 |
http://download.lenovo.com/consumer/mobiles/h1ic02ww.exe http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/h1ic03ww.exe http://download.lenovo.com/consumer/mobiles/h1ar12ww.exe |
قسمت اوّل که معلومه کلیه خطوطی که کلمهی exe رو شامل میشن رو پیدا میکنم به طوریکه با آپشن i به grep گفتم که از بزرگی و کوچکی حروف صرف نظر کنه.
قسمت دوّم اینکه همهی اون خطوطی از قسمت اوّل رو که شامل کلمهی file هستن رو با استفاده از آپشن v دستور grep نادیده میگیرم. خروجی رو به دستور cut انتقال میدم.
در قسمت سوّم با استفاده از آپشن d جداکنندهی مورد استفادهی دستور cut رو تغییر میدم و برابر جفت کوتیشن (quotation mark – “) میزارم و با استفاده از آپشن f بهش میگم که فیلد دوّم رو برگردونه. و در نهایت خروجی رو به فایل متنی مورد نظر با اسم links.txt ارسال میکنم.
سوت سوّم و در نهایت با استفاده از دستور wget و آپشنهای c و i شروع به دانلود میکمیم.
دستورهای tricky رو در command fu هم ارسال کنید.
سلام دوست عزیز
ببخشید متوجه منظورت نشدم، اگه ممکنه یه خورده توضیح بده :)
وب سایت http://commandlinefu.com منظورمه!
می تونی یک روشی برای استخراج لینکهای دانلود فیلم های وب سایت مکتبخونه بدست بیاری؟ فایلهاش روی سایت «تخته سفید» میزبانی میشه٫ اگر یک دوره درسیاش ۴۰ تا ویدیو باشه، هر ویدیو رو توی یک صفحه جدا تعریف کرده که یعنی لینک ویدیوها در صفحه های جدا تعریف شده: ۴۰ صفحه-۴۰ لینک!
متاسفانه لینک ویدیوهای یک دوره درسی خاص الگویتم مشخصی هم نداره. این ها رو ببین:
http://cdnr.takhtesefid.org/videos/hq0614589365807.mp4?name=hq-mirsadeghi799-1
http://cdnr.takhtesefid.org/videos/hq837402343099.mp4?name=hq-mirsadeghi799-2
http://cdnr.takhtesefid.org/videos/hq820947800201.mp4?name=hq-mirsadeghi799-3
http://maktabkhooneh.org
قبل از mp4 عددها الگوی خاصی ندارند هر چند نرم افزار برنامه فایلها رو با یک الگوی مشخص به دانلودر معرفی می کنه!
راهی به ذهنت میرسه؟
http://maktabkhooneh.org/
خیلی راحت بود، ولی ای کاش خودت یه تلاشی میکردی!
«لگو بازی با گنو/لینوکس: لیست دانلود در سه سوت-۲»
واقعااااااااااااااااااااااااا دمت گرم. ممنون ازت
سلام
در مورد لینوکس این سایت هم آموزش های خوبی میده
http://www.biamoz.ir