PDA

View Full Version : کمک برای بدست آوردن لینک اپارات از سایت عصرایران



hamedg1366
یک شنبه 11 تیر 1396, 15:55 عصر
با سلام

دو روزه دارم تلاش میکنم این لینک آپارات رو از سایت عصر ایران در بیارم نمیتونم:عصبانی++::عصبانی++:
لطفا کمکم کنید بدجور لنگم

لینک مورد نظر با ویدئو (http://www.asriran.com/fa/news/545340/%D9%86%DB%8C%D8%B4-%D8%B2%D8%AF%D9%86-%D9%BE%D8%B4%D9%87-%D8%A7%D8%B2-%D9%86%D9%85%D8%A7%DB%8C-%D9%85%DB%8C%DA%A9%D8%B1%D9%88%D8%B3%DA%A9%D9%88%D 9%BE%DB%8C-%D9%81%DB%8C%D9%84%D9%85)



تصویر لینک اپارات :

145668


این کد من ه
:



$html = mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8");
$dom = new DomDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($html);
libxml_clear_errors();
$xpath = new DOMXPath($dom);

$aa_= $xpath->query("//body[@class='iframe-body showpic-iframe-body']//*");





از این کد هم استفاده کردم ک دوستمون توی انجمن قرار داده بود اما جواب نداد:

preg_match_all("/<video (.*) src=\"(.*?)\" (.*)>(.*)<\/video>/si", $sResource, $Result); echo '<pre>';print_r($Result);echo '</pre>';

parsaasefi
یک شنبه 11 تیر 1396, 17:02 عصر
سلام دوست عزیز ، متاسفانه نمی تونم براتون کدش رو بنویسم ولی قبل از هرچیز یه توصیه اگه می خوای کدی پیدا کنی از inspect element استفاده نکن و برو تو ویوسورس
خوب قدم به قدم بهت جایی که لینک اصلی هست رو می گم و راحت می تونی کدش رو بنویسی
از همین مثالی هم که دادی استفاده می کنم
اول برو تو ویو سورس و کلمه aparat.com رو تو صفحه سرچ کن و حالا تنها یه مورد پیدا می شه


https://www.aparat.com/embed/PDyc5?data[rnddiv]=14981178987355257&amp;data (https://www.aparat.com/embed/PDyc5?data[rnddiv]=14981178987355257&data)[responsive]=yes

خوب حالا اینو با preg_match پیدا کن و قرارش بده تو یه متغیر و سپس تمام محتویاتش رو با file_get_contents بریز توی متغیر دیگه
حالا اگه خودت بری تو این ادرس با جاوا اسکریپت موجه می شی و اگه دقت کنی تو کل این صفحه فقط یه ادرس وجود داره که با اونو با preg_match بریزش توی یه متغیر دیگه و باز مثل قبل اطلاعاتش رو بگیر
حالا تو این صفحه به همچین ادرسی می رسی :


https://www.aparat.com/video/video/embed/vt/frame/pid/0/showadstart/no/showvideo/yes/videohash/PDyc5?data[as]=1

که این مهمترین ادرسه پس این هم بنداز تو متغیر و باز اطلاعاتش رو بگیر ولی اگه خودت بری توش و بخوای راست کلیک کنی می بینی که راست کلیک بستست ( البته مشکلی برای php پیش نخواهد اورد ) پس برای اینکه قبل از اینکه کد بزنی نگاهی به سورس بندازی اولش ادرس یه ویو سورس قرار بده


view-source:http://www.aparat.com/video/video/embed/vt/frame/pid/0/showadstart/no/showvideo/yes/videohash/PDyc5?data[as]=1

حالا تو این صفحه تو متغیر های جاوا اسکریپتش بگر یا تو صفحه سرچ کن و متغیر fileList رو پیدا کن
تو این متغییر ادرس فایل های اون ویدیو با کیفیت های مختلف قرار داره و در واقع داخلش قالب جیسون قرار داره که هر خط دارای این بخش هاست : file - type - lable - mediaid
تایپ و مدیا ایدی رو ول کن
ادرس مقابل فایل ادرس ویدیو و مقابل لیبل کیفیت ویدیو هست
حالا اینارو هم با همون preg_match بدست بیار ( البته هر طور که می خوای کدت رو بنویس )
ولی نکته مهم اینجاست که بعد از به دست اوردن ادرس ها حتما \ رو از ادرس ها حذف کنید
یعنی اینرو :


http:\/\/as9.asset.aparat.com\/aparat-video\/fa16031a8d32485311b24ee9c15c69f87430142-144p__71429.apt?wmsAuthSign=eyJhbGciOiJIUzI1NiIsIn R5cCI6IkpXVCJ9.eyJ0b2tlbiI6ImIxMzUyNzAyOGJmMDRlM2V lY2NiZjVmNmZiMjU2OWQ0IiwiZXhwIjoxNDk5MDI5MzI0LCJpc 3MiOiJTYWJhIElkZWEgR1NJRyJ9.ib3PtiE9yYu7W1KVICRXyy iujA7ZosDvE9XLu0WEexE

تغییر بده به این :


http://as9.asset.aparat.com/aparat-video/fa16031a8d32485311b24ee9c15c69f87430142-144p__71429.apt?wmsAuthSign=eyJhbGciOiJIUzI1NiIsIn R5cCI6IkpXVCJ9.eyJ0b2tlbiI6ImIxMzUyNzAyOGJmMDRlM2V lY2NiZjVmNmZiMjU2OWQ0IiwiZXhwIjoxNDk5MDI5MzI0LCJpc 3MiOiJTYWJhIElkZWEgR1NJRyJ9.ib3PtiE9yYu7W1KVICRXyy iujA7ZosDvE9XLu0WEexE

امیدوارم که تونسته باشم بهتون کمک کنم :لبخند:
موفق باشید :چشمک:

hamedg1366
یک شنبه 11 تیر 1396, 22:17 عصر
با تشکر از شما دوست عزیز وزمانی ک برای پاسخگوئی گذاشتید

بنده کمی آماتور هستم توی همون اولش موندم :


خوب حالا اینو با preg_match پیدا کن و قرارش بده تو یه متغیر
میخوام با کد زیر aparat رو پیدا کتم

متاسفانه هیچی پیدا نمیشه ، حتی کلمه a هم پیدا نمیشه ، ممنون میشم به کد یه نگاهی بندازین



$vars = 'var1=' . $var1 . '&var2=' . $var2;
$con = curl_init($url);
curl_setopt($con, CURLOPT_POST, 1);
curl_setopt($con, CURLOPT_POSTFIELDS, $vars);
curl_setopt($con, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($con, CURLOPT_HEADER, 0);
curl_setopt($con, CURLOPT_RETURNTRANSFER, 1);

$re = curl_exec($con);

$html = $re;
$html = mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8");
$dom = new DomDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($html);
libxml_clear_errors();
$xpath = new DOMXPath($dom);

$string = "a";

//$paragraph = $re;
$paragraph = $xpath;

if (preg_match_all($string, $paragraph, $matches)) {
echo count($matches[0]) . " matches found";
}else {
echo "match NOT found";
}




با تشکر