اسکریپ از کار افتاده
متاسفانه چند وقته که سایت 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.blog/getlist.php
حالا در پایان هربار اجرای کدها یه درخواست هم برای فایل پی اچ پیمون ارسال میشه تا لیست جدید فیلمها رو بگیره. برای اینکه کد هم هر یک ساعت یکبار اجرا بشه روی کرونتب سرور این دستور رو گذاشتم:
00 * * * * ganool > /dev/null 2>&1
حالا همه چی به خوبی و خوشی انجام شده و لیست فیلمهامون هر یک ساعت به صورت اتومات آپدیت میشه 🙂
سلام
خیلی خوبه
می تونید کاری کنید که امتیاز فیلم از سایت imdb رو هم نمایش بده (به همراه کارگردان و بازیگران اصلی)؟
لینک imdb رو میداره اما اگر اطلاعات اصلی (امتیاز و کارگردان) هم اضافه بشه، دیگه نیاز به سرزدن به imdb برای ۵۰ تا فیلم نیست!
کارهای بیشتری هم میشه انجام داد مثلا دسته بندی فیلم های بالای امتیاز ۸ در یک ستون، ۷ در یک ستون یا بخش دیگه و غیره!
برای imdb اسکریپت های فراوونی وجود داره که می تونید از اون ها در کدتون استفاده کنید
سلام. پیشنهاد خوبیه! ولی یکی دوتا مسئله وجود داره! یکی اینکه میخوام نتیجه کار تا حد امکان سبک باشه و اضافات نداشته باشه! و یکی دیگه هم اینکه چون قالبی در کار نیست خیلی زشت میشه اگه بخوام این اطلاعات رو هم اضافه کنم… متاسفانه از طراحی قالب هم چیزی نمیدونم، اگه شما میتونی خوشحال میشم یک قالب ساده و سبک طراحی کنی برای قرار دادن اطلاعات داخلش. برای گرفتن اطلاعات هم از imdb مشکلی ندارم خودم 😀
سلام حامد.
خواستی برات قالبش رو بزنم؟
سلام! خیلی هم عالی! البته قول نمیدم قالبی رو که فرستادی حتما استفاده کنم 😀 قالب رو به ایمیل hamedsepehry رو یاهو بفرست.
وبلاگ نویسی ت عالیه … مطالبی هم که نوشتی خیلی عالی تر
99.99% مطالب سایت رو خوندم :)) خدا قوت (Y)
اگر وقت کردی مطلبی درباره load balancing بزار … منظورم دقیقا اینه که دوتا نت 1 مگ دارم میخوام با جمع سرعتشون با 2 مگ برثانیه دانلود کنم
اینکارو میگن با میکروتیک که بیس لینوکسی داره میشه انجام داد پس چرا با لینوکس نتونیم انجام بدیم 🙂
(
اسکریپت نسخه ویندوزی پیدا کردم با node.js نوشته شده زیاد پایدار نیست … ولی همینم روی لینوکس کار نداد
https://github.com/Morhaus/dispatch-proxy
)./
این سایت هم بفنا رفت؟
از به فنا رفتنش خبر ندارم فقط میدونم آخرین دفعه که بررسیش کردم تغییراتی تو سایتش ایجاد کرده بود که کار گرفتن لینکهای دانلود رو سخت میکرد به همین خاطر بی خیال اسکریپتش شدم.