حل شده

گرفتن اطلاعات سایت mega.zn با curl

بازدید34.8kپست ها1آخرین فعالیت5 سال پیش
1
3

چطور میشه اطلاعات سایت را با curl بگیرم کد من اینه اما سایت رو بالا نمیاره دلیل چیه باید چیکار کنم؟

$url="https://mega.nz/";
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
 curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
  curl_setopt($ch, CURLOPT_REFERER,"https://mega.zn/");
$result=curl_exec($ch);
$e=curl_error ($ch);
curl_close($ch);
echo  $result.$e;
آخرین ویرایش: 24-12-2018 ???? 22:30، توسط masoud-fathi

1 پاسخ

0

دوست عزیز. قبلا خدمتتون عرض کردم. این سایت هایی که شما دارید سعی میکنید اطلاعات اونا رو بگیرید با جاوا اسکریپت رندر میشن. اگه جاوا اسکریپت مرورگر رو غیر فعال کنید و سایت بالا رو باز کنید میبینید که یه صفحه خالی میاد. این همون چیزیه که crul بهتون نشون میده. اگر رو صفحه CURL گزینه View page source رو بزنید میبینید که فقط یه کد html ساده بهتون میده. تو این کد html یه فایل جاوا اسکریپت هست که محتوای کل سایت رو اون لود میکنه.

برای گرفتن اطلاعات این سایت ها شما باید ابزاری داشته باشید که بتونه جاوا اسکریپت رو مثل مرورگر بخونه. که یکیشو معرفی کردم PhantomJS.

یه آموزش هم اینجا هست که نحوه استفاده PhantomJS و php رو گذاشته میتونید تست کنید:

https://shout.setfive.com/2015/03/30/7817/

به اینPhantomJS چی میگن و آیا نمونه دیگه هم وجود داره – masoud-fathi 5 سال پیش
بهش میگن headless Browser یعنی رابط گرافیکی نداره. بله کلی از اینا داریم: https://github.com/dhamaniasad/HeadlessBrowsersرضا رمضانپور 5 سال پیش
لطفا اگر به جواب رسیدید پاسخ درست رو انتخاب کنید – رضا رمضانپور 5 سال پیش
میشه یک آموزش در php بزنید آموزش ها گنگ هستند – masoud-fathi 5 سال پیش

سوال برنامه نویسی دارید؟

ندونستن عیب نیست، نپرسیدن چرا!

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.