انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: انتشار دوره‌ی LPIC1-102 توسط جادی و یک اسکریپت!  (دفعات بازدید: 5074 بار)

0 کاربر و 5 مهمان درحال مشاهده موضوع.

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
سلام.
اول از همه تشکر میکنم از جادی عزیز به خاطر منتشر کردن این ویدئو‌ها، سری قبلی رو که من بیشتر از ۵ دور دیدم و هیچ وخ خسته نشدم و در کنارش گیت بوک جادی رو هم دنبال کردم تا این نکات یادم نره.
وقتی هم خبر انتشار 102 رو شنیدم خیلی خوشحال شدم (خودمونیما! قبلا توی گیت بوک میشد حدس زد که جادی داره روشون کار میکنه و حتی میشد مطالعه‌شون کرد ولی خب هیچی اندازه‌ی ویدئو فان نیست) و وقتی که خواستم برم توی سایت دانش آباد تا دانلود کنم: دینگ دینگ! روم به دیوار، میخواستم ویندوزی‌وار برم ۱۳ تا ویدئوی جدید رو دانلود کنم  ;D یهو به خودم اومدم گفتم من که قبلا LPIC1-101 رو دیدم، پس بیام این لینکارو براساس دانسته‌های قبلیم دانلود کنم. و البته از آموزش های علیرضا امیرصمیمی عزیز هم نهایت استفاده رو بُردم  :)

از دیروز تا الان که دارم روش کار میکنم، صدبار آوردمش پایین از اول بردمش بالا  ;D نمیدونم تا حالا منو کاملا شناختین یا نه! من همیشه برای اسکریپت نوشتن، صدتا حالت خاص به ذهنم میاد. یعنی اسکریپت رو قبل از نوشتنش دیباگ میکنم!  :o واسه همین طبیعیه که هی عوض بشه کامنداش.
اول اسکریپت رو جوری نوشتم که روزانه میشد دانلود کرد. ولی یادم افتاد که من روزا دانلود میکنم، بعضی از دوستان که روزا نمی تونن دانلود کنن و باید تو ساعت شبانه دانلود کنن. واسه همین اسکریپت رو که از سه قسمت متصل بهم ساخته شده بود رو به سه قسمت جدا از هم تبدیل کردم که بشه هر سه قسمت رو در هر زمان دلخواه اجرا کرد.

پیش نیازها:
bash
aria2
wget
firefox
xdotool

حتماًِ حتماً اینارو داشته باشید وگرنه ...  ;D
و البته پیش نیاز مهم‌تر ثبت نام در سایت دانش آباد هست:
دانش‌آباد

برام کاری نداشت تمام لینک هارو بذارم اینجا و برید صفا  ;D چون دیدم جادی لینک هارو توی سایتش نذاشته واسه همین گفتم پس منم نباید بذارم. شما هم اگه میخواین با این اسکریپت خیلی راحت عمل دانلود و تغییر نام فایل هارو انجام بدین، دیگه تنبل بازی رو بذارین کنار و برید توی دانش آباد یه اکانت بگیرین (رایگانه!) چون فقط یک بار لازمتون نمیشه. هر بار که جادی لطف کنه و ویدئوهارو منتشر کنه، به این سایت نیاز دارید :)

نکته ۱: این سایت یه بدی داره اونم اینه که نمیشه از کوکی‌هاش یا یوزر پسورد اکانت برای دانلود با wget یا aria2 استفاده کرد. یعنی من که خودمو کشتم ولی نشد. واسه همین از xdotool استفاده کردم. اگه دوستان تونستن با wget یک صفحه از این سایت رو به صورت کامل (وقتی شمارو به عنوان کاربر شناسایی نکنه، نصف صفحه رو از چشمتون مخفی میکنه و نمیشه سورسش رو دید  >:( ) دانلود کنه، بهم اطلاع بده که اسکریپت رو آپدیت کنم. ممنون میشم  :)

نکته ۲: اول اسکریپت از فایرفاکس استفاده میکنه، اگه مرورگرتون کرومیوم و ... هست، باید زحمت تغییر دادن بخش xdotool رو خودتون بکشین دیگه.  ;D

نکته ۳: توی این اسکریپت سه تا متغیر هست که من بر اساس نظر خودم انتخابشون کردم. شما می تونید عوضشون کنین ولی خب حواستون باشه که اسکریپت بهم نریزه. متغیرها با lpic شروع میشن  ;)

نکته ۴: اون قسمتی که میخواد xdotool رو اجرا کنه، ۳ ثانیه مهلت داده که سوییچ کنین روی فایرفاکس. سرعت عمل داشته باشین  ;D

نکته ۵: به سوالایی که میپرسه جون هرکی دوست دارین درست جواب بدین. هوس جلف بازی نکنین  ;D

نکته ۶: اگه خواستین لینک هارو شبانه دانلود کنین، پارت اول رو اجرا کنین و پارت دوم به بعد رو بیخیال بشید. بعد با هر روشی که دوست داشتین می تونین لینک هارو دانلود کنین و بعد بریزینشون توی همون دایرکتوری‌ای که قراره توی اسکریپت ریخته بشن و بعد اسکریپت رو دوباره اجرا کنین و قسمت دانلود رو میتونید بیخیال بشید تا بره برای پارت سوم. در هر صورت جوری نوشتمش که هرجا خواستین می تونین بیخیالش بشین و بعد دوباره اسکریپت رو اجرا کنین و بخش هایی که قبلا انجام دادین رو دیگه سرسری بگذرین تا برسین به مرحله‌ای که نیاز دارین.  ;)

اسکریپت رو پیوست میکنم. حتماً بخونیدش. خودم که صدبار تست کردم و مشکلی نداشت ولی نخونده اجراش نکنین که من مسئولیت قبول نمی کنم  ;D (هرچند اتفاق خاصی نمی افته فوقش اگه اجرای خوبی نداشته باشین، چندتا اررور بگیرین و اتفاقی برای اطلاعاتتون نمی افته)

نکته آخر: ببین خداوکیلی یه اسکریپت فسقلی نوشتیم، ده تا نکته در اومد خخخ. حالا حساب کنین من واسه خودم چندتا نکته و حالت در نظر گرفته بودم تا شده این  ;D. نکته‌ی آخر اینه که فعلا این ویدئوها ۱۳ تا هستن که کم کم بهشون اضافه میشه. فعلا این ۱۳ تا رو بگیرین. از خداتون هم باشه  ;D
ای من هرچی میخوام نکته رو بگم ولی نمیشه  ;D میخوام بگم اگه موقع اجرای اسکریپت بهتون عددی غیر از ۱۳ داد (چه برای بخش اول چه برای بخش دوم) بهتره که ادامه‌ی اجرا رو بیخیال بشین (با نوشتن کلمه na) و از اول اجراش کنین تا مطمئن بشین که اسکریپت داره تا آخر، بدون مشکل پیش میره. مثلا اگه برای در آوردن لینک ها سرعت نتتون مشکلی داشت و باعث شد به جای ۱۳ تا لینک، ۱۲ لینک دربیاد، از اول اسکریپت رو اجرا کنین و همون مرحله‌ی خاص رو تکرار کنین تا هر ۱۳ تا رو بگیره. اگه میخواستم تمام این حالت‌هارو هم پوشش بدم، میواس یه برنامه ۱۰۰۰ خطی بنویسم که نوشتنش بیشتر از دیدن ویدئوها طول میکشه  ;D

نظری پیشنهادی چیزی هم داشتین میتونین هم به خودم بگین هم به اسکریپت اضافه کنین. آزاده کاملا  :)
امیدوارم کار باقی دوستان رو اندکی ساده تر کرده باشم  ;)
« آخرین ویرایش: 02 اسفند 1394، 06:54 ب‌ظ توسط RAS00L »
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین abdoullah

  • Full Member
  • *
  • ارسال: 170
  • جنسیت : پسر
یک دنیا ممنون رسول جان امیدوارم همیشه روزات لینوکسی باشه  8)
زندگی کردن با لینوکس رو دوست دارم

آفلاین 藤沼

  • Sr. Member
  • *
  • ارسال: 414
  • جنسیت : پسر
این اسکریپت هم لینک تمام ویدیوهای موجود در صفحهٔ دوره مجازی آموزش لینوکس (آزمون ۱۰۲) رو می‌گیره و تحویل میده:
#!/usr/bin/env python3.4
import requests
from lxml.html import fromstring, HtmlElement
from lxml.cssselect import CSSSelector


def create_html_document_from(response):
    document = fromstring(response.text)
    return document


def search_for_nodes_by_css(document, selector):
    sel = CSSSelector(selector)
    return sel(document)


def get_series_parts_box():
    URL = 'http://daneshabad.com/Program.aspx?id=88'
    response = requests.get(URL)
    document = create_html_document_from(response)
    box = search_for_nodes_by_css(document, '.seriesparts_video_box')
    return box[0]


def get_series_parts_videos(box):
    URL = 'http://daneshabad.com{}{}'.format
    videos = search_for_nodes_by_css(box, '.seriesparts_video_title > a')
    return [URL(video.attrib['href'], '.mp4') for video in videos]


if __name__ == '__main__':
    box = get_series_parts_box()
    videos = get_series_parts_videos(box)
    for video in videos:
        print(video)

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
یک دنیا ممنون رسول جان امیدوارم همیشه روزات لینوکسی باشه  8)
خواهش میکنم  :) اگه به کارِت اومد خوشحال میشم نظرت رو بدونم  :) و اگه ایده‌ای هم به ذهنت رسید حتما بگو.  ;)
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
این اسکریپت هم لینک تمام ویدیوهای موجود در صفحهٔ دوره مجازی آموزش لینوکس (آزمون ۱۰۲) رو می‌گیره و تحویل میده:

ممنون.
هنوز فرصت یادگیری پایتون پیدا نکردم. فعلا از همون Bash شروع کردم.  :)
اگه کسی حوصله داشته باشه همین حرکت رو با پایتون بزنه (تماماً) خیلی خوب میشه. چیزای بیشتری یاد میگیریم  :)
راستی. اجراش کردم ولی خط ۹ رو اررور داد. همون Return document. والا پایتون بلد نیستم بتونم فیکسش کنم. ولی اگه واقعا تونسته باشه هر ۱۳ لینک رو تحویل بده، خیلی عالیه. چون با wget و aria2 یا باید کوکی داشته باشیم تا سیشن رو متوجه بشه یا باید یوزر و پس بهش بدیم که اون مثلا واسه سایت های دانلود فیلم و سریال جواب میده ولی برای این جواب نمیده. مشخصات کوکیش رو خوندم و اسم ASP.Net رو آورده بود. من چقدر بدم میاد از این اسم :D در هر صورت با افزونه و این ابزارها (حتی w3m و elinks و .. هم تست کردم) آخرش از توی شل نتونستم به این سایت بفهمونم که بابا من کاربرتم  ;D حتی توی مرورگر هم این مدت زمان محدودی داره برای ثبت سیشن. بعد از مثلا نیم ساعت، کاربر می افته بیرون دوباره. در هر صورت خیلی محدود کردن این سایت رو.

ویرایش۱:
احتمال میدم اررورش به خاطر ورژن پایین پایتونم باشه. الان یادم اومد  ;D
اوه برم پایتون جدید نصب کنم  8)

ویرایش۲:
نه پایتون ۲٫۷ و ۳٫۴ و ۳٫۵ و ... نصبه. ولی بازم خط ۹ رو اررور میده.
« آخرین ویرایش: 02 اسفند 1394، 07:40 ب‌ظ توسط RAS00L »
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین 藤沼

  • Sr. Member
  • *
  • ارسال: 414
  • جنسیت : پسر
اون اسکریپت چندتا نیازمندی داره که باید نصب بشه. یک نگاه به این مطلب بندازید.

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
اون اسکریپت چندتا نیازمندی داره که باید نصب بشه. یک نگاه به این مطلب بندازید.

خب پس هیچی. فعلا تصمیمی برای ور رفتن با پایتون ندارم  :D
در هر حال ممنون  :)
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین کیهان

  • High Hero Member
  • *
  • ارسال: 1054
  • Debian User
    • کیهان
یعنی الان جادی سری دوم رو منتشر کرده؟

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
یعنی الان جادی سری دوم رو منتشر کرده؟
سلام. آره. فعلا یه مقدارش رو منتشر کرده و بعضیاشون هنوز کار دارن. سایتش هنوز برات باز نمیشه؟
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین احسان فعالپور

  • Sr. Member
  • *
  • ارسال: 408
  • جنسیت : پسر
سلام.
این اسکریپت پایتون هم همون کارو میکنه:

from bs4 import BeautifulSoup
import requests

page = requests.get('http://www.tutdl.ir/1394/11/22/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D8%AF%D9%88%D8%B1%D9%87-%D9%85%D8%AC%D8%A7%D8%B2%DB%8C-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D8%A2%D8%B2%D9%85%D9%88%D9%86-102/')
soup = BeautifulSoup(page.content,'html.parser')
for link in soup.find_all('a',href=True):
    URL = link['href']
    if URL.endswith('rar'):
            print(URL)

نتایج:

[0:ehsan@manjaro:00:37:34:tmp]$
>>>python lpic.py
http://87.236.214.118/OS/Linux/Jadi%20Linux/jadi%20-%20Linux%20Virtual%20training%20course(LPIC2)-(www.TutDL.ir).part1.rar
http://87.236.214.118/OS/Linux/Jadi%20Linux/jadi%20-%20Linux%20Virtual%20training%20course(LPIC2)-(www.TutDL.ir).part2.rar
http://87.236.214.118/OS/Linux/Jadi%20Linux/jadi%20-%20Linux%20Virtual%20training%20course(LPIC2)-(www.TutDL.ir).part3.rar
عضو ارشد فدراسیون بیکاران ایران FBI

آفلاین کیهان

  • High Hero Member
  • *
  • ارسال: 1054
  • Debian User
    • کیهان
یعنی الان جادی سری دوم رو منتشر کرده؟
سلام. آره. فعلا یه مقدارش رو منتشر کرده و بعضیاشون هنوز کار دارن. سایتش هنوز برات باز نمیشه؟
چرا باز میشه بخاطر اون افزونه بود مثل اینکه با بقیه افزونه‌ها مشکل داره غیر اون. منم یه مدته به سایتش سر نزده بودم

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
سلام.
این اسکریپت پایتون هم همون کارو میکنه:

مرسی. ولی این مال سایتی غیر از دانش‌آباده. برای این سایت جدید که یه mechdump کافی بود تا لینک هارو بگیره  :)
mech-dump --links http://tutdl.ir/1394/11/22/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D8%AF%D9%88%D8%B1%D9%87-%D9%85%D8%AC%D8%A7%D8%B2%DB%8C-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D8%A2%D8%B2%D9%85%D9%88%D9%86-102/ | grep rar

اگه تونستی راهی پیدا کنی که لینک ها از خود دانش آباد بتونی بگیری، خیلی عالی میشه.
بازم ممنون  :)
« آخرین ویرایش: 03 اسفند 1394، 01:01 ب‌ظ توسط RAS00L »
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین کیان

  • High Hero Member
  • *
  • ارسال: 2338
  • جنسیت : پسر
هیجان اینکه بالاخره یه چیزی داریم که به اشتراک بذاریم رو درک می کنم، اما یادتون باشه که نمی تونید این ویدیوها رو جای دیگه به اشتراک بذارید چون:
نقل‌قول
کاربران می توانند از ویدیوها و محتواهایی که اجازه دسترسی به آنها را دارند به صورت آن لاین استفاده کنند و یا آنها را برای استفاده های بعدی ذخیره کنند. ولی اجازه ندارند این محتواها را به هیچ شکلی با دیگران به اشتراک گذاشته و یا منتشر نمایند.
کج فهمی این جمله باعث میشه که شک کنیم آیا می تونیم ویدیوها رو به دوستمون بدیم ببینه یا نه، و یا فقط منظور این بوده که برای دانلود انبوه در دسترس قرار ندیم. این دانش آبادی های به جای ابداع قوانین بهتر بود از اونچه که حقودانها نوشتند و در چندین نسخه polish خورده استفاده می کردند: مثلا کپی رایت با یکی از لایسنس های سختگیر CC یا فقط کپی رایت بدون هیچ لایسنسی وووو
اما
با کجی و بدون کجی، نباید جایی ویدیوها رو برای دانلود دیگران قرار بدید (مثل چند پست قبلتر). نقض خواسته جادی و دانش آبادیهاست

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
موافقم. واسه همین، اسکریپتِ من فقط در صورت ثبت نام از سایت دانش آباد قابل استفاده‌س. از اونجایی که جادی لینک هارو در اختیار کاربرا قرار نداده و گفته برین توی دانش آباد پس قاعدتا من هم لینک هارو در اختیار دوستان قرار ندادم. این اسکریپت فقط در صورتی عمل میکنه که طرف بره عضو بشه و بعد این اسکریپت رو اجرا کنه و لینک هارو بگیره و دانلود کنه روی سیستمش. از اونجایی که بدون ثبت نام حتی سورس صفحه هم به صورت کامل در اختیار قرار نمیگیره، باید فهمید که دوست ندارن دیگران بدون ثبت نام از لینک ها استفاده کنن. هرچند ویدئوهای جادی رایگانه (شاید حتی آزاد هم باشه) ولی سیاست اون سایت اینجوریه و چاره‌ای نیست. اون دوره‌ی قبلی هم جادی شخصا یه تورنت معرفی کرد برای دانلود کارهاش واسه همین من لینک هارو بعد اینکه متوجه شدم جادی تورنت معرفی کرده، در اختیار کاربرا قرار دادم. ولی این بار دیدم از تورنت خبری نیست بنابراین اسکریپت رو به شرط ثبت نام نوشتم.  :)
و الان هم دنبال راهی‌ام که بشه لینک هارو توی شل بهم بده اونم در صورتی که متوجه بشه من کاربرشم (چون اکانت دارم ولی هرچی سعی میکنم شل نمی تونه این سایت رو تشخیص بده که فکر کنم به دلیل استفاده از ASP.Net باشه که محدودیت‌هایی داره احتمالا) ولی خب فعلا به نتیجه‌ای نرسیدم. در هر صورت من آدمی‌ام که یا کلا یه چیز کپی رایتی رو استفاده نمی کنم (مثل فایل دارای قیمت. مثلا آهنگ و فیلم و ...) یا اگه استفاده کنم، رعایت میکنم تمام و کمال  :)
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت