1masoud
6 سال پیش توسط 1masoud مطرح شد
11 پاسخ

بدست آوردن لینک های یک فایل

@code2code
من می خواهم از این فایل https://mega.nz/#!sRB0lQaY!PUFji_lYEBEqrXtsPvTlJ8pzgxIEc2Yt6FiXyfXDfPk
لینک ها رو خارج کنم به وسیله رجکس می خواهم این کار رو بکنم می شه راهنمایی کنید
کدم اینه

$attribute=file_get_contents('page1.txt');
    preg_match_all("/"https://www.aparat.com/video/video/embed/videohash/[Ww]*?/vt/frame"/im", $attribute, $p10);
    print_r($p10[4]);

ثبت پرسش جدید
مهدی
@code2code 6 سال پیش مطرح شد
0

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

    $file = file_get_contents('https://www.aparat.com/v/r7gIL');

    $dom = new DomDocument();
    $dom->loadHTML($file,LIBXML_NOERROR);
    $finder = new DomXPath($dom);
    $classname = "vone__date-cats-tags";
    $nodes = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]");

    $innerHTML= '';
    $children = $nodes[0]->childNodes;
    foreach ($children as $child) {
        $innerHTML .= $child->ownerDocument->saveXML( $child );
    }

    var_dump($innerHTML);

1masoud
تخصص : php,laravel
@masoudproton 6 سال پیش مطرح شد
0

کسی چیزی نمیدونه


1masoud
تخصص : php,laravel
@masoudproton 6 سال پیش آپدیت شد
0

@code2code
مهدی اینا بدردبخور نیستند
من می خواهم با preg match allیک محدوده را بگیره مثلا
‍‍‍```
[attributes] => stdClass Object (
[id] => ۱۳۳۶۳۳۴۵
[title] => پازل بند و استایل جنجالی - قسمت ۴ سلب استایل
[description] => پازل بند و استایل جنجالی - قسمت ۴ سلب استایل
[username] => pooshism
[userid] => ۱۲۳۴۹۱۹
[tags] => Array
( ) [uid] => UxHfM
[isHidden] =>
[visit_cnt] => 3 هزار
[process] => no_stat
[sender_name] => پوشیسم
[big_poster] => https://static.cdn.asset.aparat.com/avt/13363345-8794
[duration] => 729
[sdate] => 22 ساعت پیش
[sdate_timediff] => 79262
[frame] => https://www.aparat.com/video/video/embed/videohash/UxHfM/vt/frame
[official] => yes
[autoplay] => 1
[360d] =>
[brand_priority] => 77777
[like_cnt] => 38
[comment_cnt] => 31
[preview_src] => https://static.cdn.asset.aparat.com/avt/13363345_15s.mp4
[file_link_all] =>
[file_link] =>
[videovisit] =>
[like] =>
[share] =>
[meta] =>
[catId] => 17
) )


مهدی
@code2code 6 سال پیش مطرح شد
0

آها من فک کردم تو میخوای از سایت مگا با php دانلود کنی اصلا هواسم به text نبود الان متوجه شدم

https:\/\/www\.aparat\.com\/video\/video\/embed\/videohash.*\/vt\/frame

در ضمن چرا تو از همون فایل جسون استفاده نمیکنی که رفتی سراغ stdClass?


1masoud
تخصص : php,laravel
@masoudproton 6 سال پیش آپدیت شد
0

@code2code
از خود این لینکی jsonکه در زیر وجود داره می خواهم pregکنم نمیشه بخاطر همین ریختمش داخل فایل که از فایل بگیرم اگه راهی داری بگو.

این لینک سایت استhttps://api.aparat.com/fa/v1/video/video/index
من میخواهم هر فیلمی دارای یک attributes که تمام مقادیر مثل لینک سایت تعداد بازدید ها و اسم کلیپ و غیره می باشد چطوری میتونم هر attributeرو بگیرم که تام جزییات داخلش باشه میشه راهنمایی کنی


مهدی
@code2code 6 سال پیش مطرح شد
0

تو چه نیازی به رجکس داری خوب یه حلقه for بزن تمام id ها رو بگیر
uid رو که بگیری انگار لینکو گرفتی مثلا URJrS uid
لینک میشه https://www.aparat.com/v/URJrS

    $json = file_get_contents('https://api.aparat.com/fa/v1/video/video/index');
    $json = json_decode($json);
    $data = $json->data;
    $nextLink = $json->links->more;
    $links = [];
    foreach ($data as $value) {
        foreach ($value->attributes->items as $item) {
            $links[] = 'https://aparat.com/v/'.$item->attributes->source->attributes->uid;
        }

    }
    dd($links);

1masoud
تخصص : php,laravel
@masoudproton 6 سال پیش آپدیت شد
0

@code2code
آقا مهدی سلام
من میخواهم از این لینک اطلاعاتی رو بیرون بکشم اما کامل اطلاعات رو بیرون نمیکشه قسمتی رو بیرون میکشه
https://www.aparat.com/v/r7gIL

preg_match_all("/<div class="vone__date-cats-tags">[\W\w]*?</div>/im",$cc,$ip);

مهدی
@code2code 6 سال پیش مطرح شد
0

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

    $file = file_get_contents('https://www.aparat.com/v/r7gIL');

    $dom = new DomDocument();
    $dom->loadHTML($file,LIBXML_NOERROR);
    $finder = new DomXPath($dom);
    $classname = "vone__date-cats-tags";
    $nodes = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]");

    $innerHTML= '';
    $children = $nodes[0]->childNodes;
    foreach ($children as $child) {
        $innerHTML .= $child->ownerDocument->saveXML( $child );
    }

    var_dump($innerHTML);

1masoud
تخصص : php,laravel
@masoudproton 6 سال پیش مطرح شد
0

@code2code
میشه بگی این چیه ؟
فکر کنم dom_simple html باشه درسته؟


مهدی
@code2code 6 سال پیش مطرح شد
0

نه اون خودش یه پکیج اینی که من نوشتم php-dom اکستنشن داخلی خود php
کافیه تو php.ini فعالش کنی یا اگه لینوکسی بزنی sudp apt install php-dom
خیلی پکیج هست بگردی کلی پیدا میکنی
به نظرم از اینا استفاده کنی بهتره تا رجکس بی دردسر تره واسه اینجور کارا


1masoud
تخصص : php,laravel
@masoudproton 6 سال پیش مطرح شد
0

@code2code

از این کد بالا استفاده کردم جواب داد اما وقتی تو حلقه انداختم ازchildNodes ایراد میگیره
ارورش در لاراول اینه Trying to get property 'childNodes' of non-object


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام