استفاده از php برای دانلود ویدئو از youtube

این اموزش رو به خاطر درخواست یکی از دوستان عزیز قرار میدم 😀 در اینجا میخوایم ببینیم چجوری میشه با PHP از سایت youtube ویدئو دانلود کرد و درون سرور ذخیره کرد. همونطور که میدونید سایت یوتیوب به صورت پیش فرض اجازه ی دانلود ویدئو رو به کاربران خودش نمیده و کاربران عادی نمیتونن ویدئوها رو دانلود کنن! اما ما کاربر عادی نیستیم 😀 شما با استفاده از دستورات php میتونید لینک ویدئوها رو بدست بیارید و دانلودشون کنید.

برای دانلود فایل از یوتیوب اگه ادرس ویدئو به صورت زیر باشه :

کافیه که از id ویدئو یعنی چیزی که بعد از v قرار گرفته استفاده کنید , در اینجا Fw-BM-Mqgeg شناسه یا id ویدئو هست! اسکریپت رو من در انتهای همین پست قرار دادم میتونید دانلود کنید و استفاده کنید. کافیه شناسه ی ویدئو رو وارد کنید تا دانلود ویدئو انجام بشه! برای اینکه متوجه بشید دستورات php چجوری کار میکنن و دانلود چجوری انجام میشه به صورت خلاصه براتون اسکریپت رو توضیح میدم.

ما ابتدا id یا شناسه ی ویدئو رو توسط php به ادرس زیر میفرستیم و مشخصات ویدئو رو از youTube دریافت میکنیم:

در لینک بالا اگه در جلوی video_id شناسه ی ویدئو رو قرار بدید , مشخصات ویدئو رو دریافت میکنید. این کار رو میتونید با php به صورت زیر انجام بدید :

در دستورات بالا ما شناسه و نوع پسوند دلخواه خودمون رو میدیم و اطلاعات ویدئو رو دریافت میکنیم. دقت کنید که پسوند رو میتونید به دلخواه خودتون به صورت mp4 یا webm بدید. بعدش نتیجه رو با دستور file_get_contents دریافت میکنیم و با تابع parse_str به صورت ارایه تبدیلش میکنیم 😀 خب حالا در ارایه ی خودمون و در اندیس url_encoded_fmt_stream_map ادرس فایل ویدئو رو داریم! کافیه که محتوای ارایه در کلید url_encoded_fmt_stream_map رو که با ویرگول به هم متصل شدن تجزیه کنید! بعدش اطلاعات لینک ها رو بگیرید و ذخیره کنید! این کار رو هم میتونیم به صورت زیر انجام بدیم:

با دستورات بالا میایم داده های لینک دریافتی از youTube رو دانلود و ذخیره میکنیم! فایلها درون پوشه ی video کنار فایل php ما قرار میگیره! کد کامل به صورت زیر خواهد بود :

امیدوارم این اموزش بدرد شما خورده باشه و با نحوه ی کار اشنا شده باشید. ما در این اموزش برای دانلود و ذخیره فایل از دستور file_get_contents و fopen استفاده کردیم. این دستورات رم زیادی مصرف میکنن و بهتره که از دستورات cURL استفاده بشه. اگه میخواید که به صورت حرفه ای تر کار کنید باید با توجه به نیاز خودتون دستورات رو تغییر بدید یا اینکه از اسکریپتی که در انتهای این پست برای دانلود قرار دادم (با cURL نوشته شده) استفاده کنید. 😀 اسکریپت انتهای این اموزش رو دانلود کنید و با خیال راحت استفاده کنید. همچنین همیشه میتونید اخرین ورژن این اسکریپت رو از گیت هاب (کلیک کنید) دانلود کنید و استفاده کنید.

دوستانی که مشکل یا سوال دارند میتونن از انتهای همین اموزش مطرح کنند تا پاسخ بگیرند. موفق و پیروز باشید.

اسکریپت دانلود ویدئو از youTube با php
53.7 KiB
25 Downloads
اطلاعات بیشتر
به اشتراک بگذارید:Email this to someoneShare on FacebookTweet about this on TwitterShare on Google+Digg thisShare on LinkedInPin on PinterestShare on StumbleUponFlattr the authorShare on RedditBuffer this pageShare on TumblrPrint this pageShare on YummlyShare on VK
  1. دستت درد نکنه من همونطور که گفتم فعلا دسترسی به هاست آنلاین ندارم و الان آفلاین تو سیستم خودم با xampp کار میکنم که این اسکریپت جواب نمیده شما همین اسکریپت رو تست کردین رو هاست جواب داد ؟

    خطا :
    Parse error: syntax error, unexpected ‘[‘ in C:\xampp\htdocs\2\config.php on line 78

    $config[‘IPs’] = [
    //’xxx.xxx.xxx.xxx’,
    //’xxx.xxx.xxx.xxx’,
    //’xxx.xxx.xxx.xxx’,
    //’xxx.xxx.xxx.xxx’,
    //’xxx.xxx.xxx.xxx’,
    // add as many ips as you want (they must be available in the server conf (ex: /etc/network/interfaces fro ubuntu/debian)
    ];

    • اسکریپت جواب میده همینطور که ارور داده شما باید نتوورک فعال داشته باشید! البته توی ایران یوتیوب فیلتر هست و شما باید فیلترشکن هم داشته باشید. اسکریپتش کار میکنه مشکلی نداره.

  2. مهدی جان عشقم شافتالو جیگر آموزشت خیلیخ وب بود از طرف عشقت اگر شناختی کیم ۳>

می‌خواهید دیدگاهتان را بیان کنید؟