اسکریپت دریافت ۵۰ فیلم آخر گانول

اسکریپ از کار افتاده

 

متاسفانه چند وقته که سایت yts.to تعطیل شده و تیم YIFY دیگه فیلمی رو رلیز نمیکنه. پس فعلا به نظر میاد تنها گزینه موجود برای دانلود فیلم سایت گانول هست (جای خوب دیگه‌ای سراغ دارین خوشحال میشم بگین). برای راحتی خودم یه اسکریپت نوشتم که هر یک ساعت یکبار میاد و لیست ۵۰فیلم آخر گانول رو میگیره و به همراه لینک دانلودشون میذاره توی یک صفحه تا بدون دردسر بتونم رلیزهای جدید گانول رو ببینم. در حال حاظر هم اون صفحه رو میتونین تو این آدرس ببینین.

 

کدها چون با بش اسکریپت نوشته شدن برای اجراشون حتما نیاز به یک سرور لینوکسی دارید. چون حال توضیحات اضافی ندارم، خیلی خلاصه میگم چیکار کردم، جایی مشکل بود بخش نظرات موجوده 😀 اول نیاز به یک فایل دارم تا کدها رو توش بذارم، تو این فایل کدها رو میذارم:

/usr/bin/ganool

 

کدها هم این هست:

echo "" > /var/www/html/movies.html
lastup="$(date -u)"
echo "<title>Latest 50 MOVIES released by Ganool</title>" >> /var/www/html/movies.html
echo "<b>Latest 50 MOVIES released by Ganool</b></br>" >> /var/www/html/movies.html
echo "<b>This list updates every one hour</b></br>" >> /var/www/html/movies.html
echo "<b>Last update: $lastup</b></br><hr>" >> /var/www/html/movies.html
for ganoolurl in 'http://ganool.com/category/movie/' 'http://ganool.com/category/movie/page/2' 'http://ganool.com/category/movie/page/3' 'http://ganool.com/category/movie/page/4' 'http://ganool.com/category/movie/page/5' 'http://ganool.com/category/movie/page/6' 'http://ganool.com/category/movie/page/7' 'http://ganool.com/category/movie/page/8' 'http://ganool.com/category/movie/page/9' 'http://ganool.com/category/movie/page/10'
do
	for movieurl in $(wget -O - $ganoolurl | egrep "Permalink" | egrep -o "a href.+title" | sed -r 's/^.{8}//' | sed -r 's/.{7}$//')
	do
		wget -O - $movieurl > ~/.ganooltemp
		movietitle="$(cat ~/.ganooltemp | egrep "entry-title" | sed -r 's/^.{29}//' | sed -r 's/.{6}$//')"
		echo "<b>"$movietitle"</b></br>" >> /var/www/html/movies.html
		imdblink="$(cat ~/.ganooltemp | egrep -o "Info.+Release" | head -1 | sed -r 's/^.{6}//' | sed -r 's/.{8}$//')"
		echo "IMDb: "'<a href='"$imdblink"'>'"$imdblink"'</a></br>' >> /var/www/html/movies.html
		iduplink="$(cat ~/.ganooltemp | egrep IDUP | tail -1 | egrep -o "a href.+onclick" | sed -r 's/^.{8}//' | sed -r 's/.{9}$//')"
		if [ "$iduplink" = "" ]; then
			echo "Download From IDUP.IN: Uploading..."'</br>' >> /var/www/html/movies.html
		else
			echo "Download From IDUP.IN: "'<a href='"$iduplink"'>'"$iduplink"'</a></br>' >> /var/www/html/movies.html
		fi
                mylinkgen="$(cat ~/.ganooltemp | egrep MyLinkGen | tail -1 | egrep -o "a href.+onclick" | sed -r 's/^.{8}//' | sed -r 's/.{9}$//')"
                if [ "$mylinkgen" = "" ]; then
                        echo "Download From MyLinkGen(MediaFire): Uploading..."'</br></br>' >> /var/www/html/movies.html
                else
                        echo "Download From MyLinkGen(MediaFire): "'<a href='"$mylinkgen"'>'"$mylinkgen"'</a></br></br>' >> /var/www/html/movies.html
                fi
	done
done
rm ~/.ganooltemp

 

این کد خروجیش یک فایل html به اسم movies.html هست که تو مسیر var/www/html قرار میگیره که پوشه مربوط به آپاچی هست تا بشه از طریق مرورگر بهش دسترسی داشت. برای اینکه این فایل رو بتونم روی هاست انتقال بدم یه فایل پی اچ پی تو روت هاست ساختم ساختم و این کدها رو داخلش قرار دادم (فرض میکنم اسم فایل getlist.php باشه):

<?php
file_put_contents("ganool/index.html", file_get_contents("http://server_ip/movies.html"));
?>

 

این دستورات پی اچ پی میان و فایل لیست فیلم‌ها رو از روی سرور میگیرن و روی هاست انتقال میدن. اما برای اینکه این فایل پی اچ پی بعد از هر بار اجرای کد اجرا بشه، این دستور رو آخر کدها اضافه کردم (البته قبلش w3m رو روی سرور نصب کردم):

w3m -dump https://hamedworld.ir/getlist.php

 

حالا در پایان هربار اجرای کدها یه درخواست هم برای فایل پی اچ پیمون ارسال میشه تا لیست جدید فیلم‌ها رو بگیره. برای اینکه کد هم هر یک ساعت یکبار اجرا بشه روی کرون‌تب سرور این دستور رو گذاشتم:

00 * * * * ganool > /dev/null 2>&1

حالا همه چی به خوبی و خوشی انجام شده و لیست فیلم‌هامون هر یک ساعت به صورت اتومات آپدیت میشه 🙂

7 دیدگاه در “اسکریپت دریافت ۵۰ فیلم آخر گانول”

  1. سلام
    خیلی خوبه
    می تونید کاری کنید که امتیاز فیلم از سایت imdb رو هم نمایش بده (به همراه کارگردان و بازیگران اصلی)؟
    لینک imdb رو میداره اما اگر اطلاعات اصلی (امتیاز و کارگردان) هم اضافه بشه، دیگه نیاز به سرزدن به imdb برای ۵۰ تا فیلم نیست!

    کارهای بیشتری هم می‌شه انجام داد مثلا دسته بندی فیلم های بالای امتیاز ۸ در یک ستون، ۷ در یک ستون یا بخش دیگه و غیره!
    برای imdb اسکریپت های فراوونی وجود داره که می تونید از اون ها در کدتون استفاده کنید

    1. سلام. پیشنهاد خوبیه! ولی یکی دوتا مسئله وجود داره! یکی اینکه میخوام نتیجه کار تا حد امکان سبک باشه و اضافات نداشته باشه! و یکی دیگه هم اینکه چون قالبی در کار نیست خیلی زشت میشه اگه بخوام این اطلاعات رو هم اضافه کنم… متاسفانه از طراحی قالب هم چیزی نمیدونم، اگه شما میتونی خوشحال میشم یک قالب ساده و سبک طراحی کنی برای قرار دادن اطلاعات داخلش. برای گرفتن اطلاعات هم از imdb مشکلی ندارم خودم 😀

    1. سلام! خیلی هم عالی! البته قول نمیدم قالبی رو که فرستادی حتما استفاده کنم 😀 قالب رو به ایمیل hamedsepehry رو یاهو بفرست.

  2. وبلاگ نویسی ت عالیه … مطالبی هم که نوشتی خیلی عالی تر
    99.99% مطالب سایت رو خوندم :)) خدا قوت (Y)
    اگر وقت کردی مطلبی درباره load balancing بزار … منظورم دقیقا اینه که دوتا نت 1 مگ دارم میخوام با جمع سرعتشون با 2 مگ برثانیه دانلود کنم
    اینکارو میگن با میکروتیک که بیس لینوکسی داره میشه انجام داد پس چرا با لینوکس نتونیم انجام بدیم 🙂
    (
    اسکریپت نسخه ویندوزی پیدا کردم با node.js نوشته شده زیاد پایدار نیست … ولی همینم روی لینوکس کار نداد
    https://github.com/Morhaus/dispatch-proxy
    )./

    1. از به فنا رفتنش خبر ندارم فقط میدونم آخرین دفعه که بررسیش کردم تغییراتی تو سایتش ایجاد کرده بود که کار گرفتن لینک‌های دانلود رو سخت میکرد به همین خاطر بی خیال اسکریپتش شدم.

پاسخ دادن به سعید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد.