عنوان:

‫دریافت فایل از یوتیوب


نویسنده: وحید نصیری
تاریخ: ۱۳۸۹/۰۱/۰۱ ۱۶:۰۲:۰۰
آدرس: www.dntips.ir

سلام

سال نو مبارک! به امید سالی بهتر از پارسال!

این روزها با هزینه‌‌ای معادل هزینه‌ی تهیه‌ی یک هاست اشتراکی سالیانه برای بالاگذاری یک سایت معمولی در 5 سال قبل، می‌توان یک VPS تهیه کرد و به این صورت قفل و کلید یک نیمچه سرور را (با 200 و خرده‌ای مگ رم، 30 گیگ فضا، سرعت CPU نزدیک به 700 MHz و ویندوز سرور 2003 یا 2008) در اختیار شما قرار می‌دهند (البته به قول معروف هر چقدر پول بدهید همانقدر هم سخت افزار در اختیار شما قرار می‌دهند) بجای صرفا یک دایرکتوری مجازی محدود با 100 مگ فضای هاست که هر احدی در آن هاست اشتراکی می‌تواند سر مبارک را اندکی چرخانده و تمام زندگی شما را مرور کند و غیره!
استفاده‌ی مفیدی هم که این VPS برای من داشته، ترنس لود کردن یک سری فایل است (با توجه به سرعت‌های نجومی دریافت فایل این سرورها). برای مثال دریافت فایل از یوتیوب و انتقال به یک هاست دیگر برای دریافت ساده‌تر خودم و یا دیگران.
برای نمونه سایت dotnet-tv.com را در نظر بگیرید. تعدادی از ویدیوهای این سایت در یوتیوب هاست شده و از این دست زیاد هستند. خیلی‌ها برای فرار از مشکلات کمبود پهنای باند از یوتیوب استفاده می‌کنند. یوتیوب هم که از این طرف بسته است. خوب، من الان می‌خواهم ویدیوی مربوط به ASP.Net MVC آن را مشاهده کنم، چکار باید کرد؟!
یک برنامه‌ی ساده‌ی کنسول را تهیه کرده‌ام که این کار را برای VPS‌ داران تسهیل می‌کند.
- دریافت فایل از یوتیوب
- آپلود خودکار آن به رپیدشیر


یک نمونه خروجی آن: (فایل‌های یوتیوب سایت ذکر شده که به رپیدشیر منتقل شده)
دریافت

در سورس این برنامه موارد زیر پیاده سازی شده است:
- یافتن لینک‌های یوتیوب سایت dotnet-tv.com با استفاده از regular expressions
- یافتن لینک دانلود مستقیم این فایل‌ها از سایت یوتیوب که شامل استفاده از regular expressions برای استخراج قسمت‌های مفید از صفحات و همچنین استفاده از امکانات Json دات نت فریم ورک سه و نیم برای parse قسمت‌های استخراج شده است.
- ایجاد یک thread pool سفارشی که هر بار 7 لینک مستقیم را به صورت همزمان از یوتیوب دریافت می‌کند. (thread pool پیش فرض دات نت تمام تردها را به یکباره شروع می‌کند که برای اینکار مفید نیست. به همین جهت از این thread pool سفارشی شده استفاده شد)
پیش فرض فایلی که از سایت یوتیوب دریافت می‌شود MP4 با کیفیت بالا است که با fmt=18 در فایل Youtube.cs مشخص شده. فرمت‌های دیگر را می‌توانید از این فایل ایده بگیرید.
- آپلود فایل دریافتی از یوتیوب به یک اکانت رایگان کالکتور در رپیدشیر. (ماخذ این مورد در سایت code projects)
مشخصات این اکانت رایگان کالکتور در فایل app.config باید ذکر شود.

این سورس می‌تونه ایده‌ی ابتدایی بسیاری از کارهای مشابه باشد. برای مثال ایجاد یک وب سرویس، یک وب سایت، یک سرویس ایمیلی و غیره.



پ.ن.
کار انجام شده فعالیت وارز محسوب نمی‌شود زیرا مجوز ویدیوهای سایت یوتیوب این امکان توزیع (و بسیاری موارد دیگر) را به شما می‌دهد.

نظرات

  • مهمان در ۱۳۸۹/۰۱/۰۱ ۱۶:۳۴:۴۳
    سال نو مبارک، ایده جالبی بود.
  • مهمان در ۱۳۸۹/۰۱/۰۱ ۲۳:۴۷:۴۸
    سلام آقای نصیری
    سال نو مبارک
    این همون Leech هست؟
  • وحید نصیری در ۱۳۸۹/۰۱/۰۲ ۰۰:۵۷:۵۰
    این هم یک نوع از آن است.
  • مهمان در ۱۳۸۹/۰۱/۰۳ ۱۲:۲۳:۳۴
    چند وقت پیشپ منم یه vps داشتم که os اون centos بود ، هر فایلی که از این ور یا از اون ور بسته بود رو مث آب خوردن روی vps دانلود می کردم ، چیزی ه همیشه تو کف بدم سرعت باور نکردنی دانلود بود در عرض چند ثانیه چه فایلهای حجیمی رو که من دانلود نمی کردم.
  • مهمان در ۱۳۸۹/۰۱/۰۳ ۲۰:۳۱:۲۳
    عالی بود مثل همیشه، ولی این پرشین گیگ همیشه خدا داون هست!
    سال نو هم مبارک آقای نصیری، امیدوارم موفق تر از همیشه باشید.
  • مهمان در ۱۳۸۹/۰۱/۰۵ ۱۳:۵۶:۱۹
    چه جوری این vps رو باید تهیه کرد
  • وحید نصیری در ۱۳۸۹/۰۱/۰۵ ۱۴:۰۵:۲۷
  • مهمان در ۱۳۸۹/۰۱/۰۵ ۱۶:۱۳:۲۰
    آقای نصیری شرمنده ولی خوب بی سوادیم در ضمن قانونیه یا مثل vpn فردا خفتمون نکنند
  • وحید نصیری در ۱۳۸۹/۰۱/۰۵ ۱۶:۵۱:۲۳
    خرید و فروش VPS تا جایی که می‌دونم منع قانونی ندارد. مثل خرید و فروش سرور معمولی است.
    VPN هم اساسا هدفش ارتباط دفاتر شرکت‌های مختلف است. در همین کشور خودمون خیلی از شرکت‌ها از طریق VPN به دفاتر مختلف خودشون وصل می‌شوند یا کارمندانشون امکان کار از راه دور را پیدا می‌کنند.
    بنابراین در حالت کلی عنوان غیرقانونی دادن به VPN کار صحیحی نیست.
  • مهمان در ۱۳۸۹/۰۱/۰۶ ۰۹:۲۷:۳۱
    سلام

    مطلب بسیار جالب و مفیدی بود.
    امیدوارم سال بسیار خوب و پر برکتی (پر از سفارش کار)داشته باشید.

    موفق و پیروز باشید