выражение для xparser

xParser
пробую использовать выражение
.//div[@class="video-iframe yt-vme-container"]/script/@video-source
по аналогии с этим
.//div/div/picture/source/@data-srcset
последнее работает а первоенет :( что делаю не так?

пытаюс из этого кода вытащить ссылку на видео
<div class="video-iframe yt-vme-container" style="position: relative; inset: unset; max-width: 640px; padding: unset; height: 100%; width: 100%;"><script type="text/javascript" src="https://youtube-com.cdn.vidyome.com/vidyome/builds/player.js" id="vme_player_13232258508328254" container-id="vme-yt-66035627250847576" site-id="MTcwNQ==" video-id="ytb" video-play="false" video-source="https://www.youtube.com/embed/b6aLl-W8gCk?" video-poster="https://i.ytimg.com/vi/b6aLl-W8gCk/hqdefault.jpg">...
Евгений
07 сентября 2021, 17:30
modx.pro
2 155
0

Комментарии: 41

Andrey
07 сентября 2021, 18:54
0
Не знаю что там с xparser, не использую, но можно сделать свой сниппет под этот конкретный случай, как вариант:
<?php
$str = '<div class="video-iframe yt-vme-container" style="position: relative; inset: unset; max-width: 640px; padding: unset; height: 100%; width: 100%;"><script type="text/javascript" src="https://youtube-com.cdn.vidyome.com/vidyome/builds/player.js" id="vme_player_13232258508328254" container-id="vme-yt-66035627250847576" site-id="MTcwNQ==" video-id="ytb" video-play="false" video-source="https://www.youtube.com/embed/b6aLl-W8gCk?" video-poster="https://i.ytimg.com/vi/b6aLl-W8gCk/hqdefault.jpg">';
preg_match(' /video-source="(.*?)" /', $str, $match);
return $match[1];
    Andrey
    07 сентября 2021, 20:23
    0
    А вообще, если оно как xpath, то с незакрытыми тегами оно может не работать. В примере script и div не закрыты.
      Евгений
      07 сентября 2021, 21:02
      0
      что ты имеешь в виду про незакрытые?
      .//div/div/picture/source/@data-srcset вот эта канитель работает и примеры для настройки там так же описаны типа
      XPath выражение.
      .//h3[@class=«title»]/a
      .//h3[@class=«title»]/a/@href
        Andrey
        07 сентября 2021, 21:15
        0
        Не могу ничего сказать про xparser, поскольку у меня его нет и дел с ним не имел, примеры не видел, нюансов его не знаю :) Но сам xpath требует закрытых тегов, насколько я знаю. То есть если брать код из примера, то теги должны закрываться в конце:
        <div class="video-iframe yt-vme-container" style="position: relative; inset: unset; max-width: 640px; padding: unset; height: 100%; width: 100%;"><script type="text/javascript" src="https://youtube-com.cdn.vidyome.com/vidyome/builds/player.js" id="vme_player_13232258508328254" container-id="vme-yt-66035627250847576" site-id="MTcwNQ==" video-id="ytb" video-play="false" video-source="https://www.youtube.com/embed/b6aLl-W8gCk?" video-poster="https://i.ytimg.com/vi/b6aLl-W8gCk/hqdefault.jpg"></script></div>
        И тогда должно работать.
          Евгений
          07 сентября 2021, 21:24
          0
          ну там теги закрыты само собой я просто кусок кода показал как он есть до нужного места
            Andrey
            07 сентября 2021, 21:35
            0
            Тогда не знаю. Если брать этот кусок кода с закрытыми тегами, то выражение должно работать. Тут даже //@video-source должно работать. Покажите весь html код, может тогда ясней станет.
      vectorserver
      07 сентября 2021, 21:46
      0
      <?php
      $file = ('<div class="video-iframe yt-vme-container" style="position: relative; inset: unset; max-width: 640px; padding: unset; height: 100%; width: 100%;"><script type="text/javascript" src="https://youtube-com.cdn.vidyome.com/vidyome/builds/player.js" id="vme_player_13232258508328254" container-id="vme-yt-66035627250847576" site-id="MTcwNQ==" video-id="ytb" video-play="false" video-source="https://www.youtube.com/embed/b6aLl-W8gCk?" video-poster="https://i.ytimg.com/vi/b6aLl-W8gCk/hqdefault.jpg">...</div>');
      
      $doc = new DOMDocument();
      
      $doc->preserveWhiteSpace = false;
      
      $doc->loadHTML($file);
      
      $xpath = new DOMXpath($doc);
      
      $video_source = $xpath->query("//@video-source");
      
      if($video_source->length){
          
          echo "video-source: {$video_source->item(0)->value}";
      }
        Евгений
        08 сентября 2021, 16:34
        0
        а как это использовать?
          Andrey
          08 сентября 2021, 17:56
          0
          Я думаю это просто в доказательство, что в данной строке для поиска будет работать даже простой xpath запрос "//@video-source". Евгений, покажите весь код, из которого хотите достать ссылку, думаю тогда подскажут, если с запросом что-то не так.
            Евгений
            08 сентября 2021, 22:09
            0
            вот весь код страницы от которого пляски начинаются, .article и из него уже все парситсяв поля

            //@video-source возможно, сейчас пробую такое:
            .//*[@class=«video-iframe yt-vme-container»]/script/@video-poster
            .//*[@class=«video-iframe yt-vme-container»]/script/@video-source

            жду когда появится чтото

            <div class="article "><h1 class="heading">لحظة انتشار الجيش السوري في حي درعا البلد بعد تطبيق اتفاق التسوية (بالفيديو)</h1><div class="info-panel"><div class="time-public"><p><time><span class="title">تاريخ النشر:</span><span class="date">08.09.2021</span> | <span class="time">17:00 GMT</span> | </time><a href="/middle_east/">أخبار العالم العربي</a></p></div><script>
                    if (!window.addthis) {
                        var e = document.createElement('script'),
                                f = document.getElementsByTagName('script')[0],
                                u = '//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-58867f55d14ecab3';
                        e.async = true;
                        e.src = u;
                        f.parentNode.insertBefore(e, f);
                    }
                </script><script>
                            var addthis_share = addthis_share || {};
                            addthis_share.templates = {
                                    twitter: 'لحظة انتشار الجيش السوري في حي درعا البلد بعد تطبيق اتفاق التسوية (بالفيديو) https://ar.rt.com/r8nw via @RTarabic'
                                };
                        </script></div><div class="video-iframe yt-vme-container" style="position: relative; inset: unset; max-width: 640px; padding: unset; height: 100%; width: 100%;"><script type="text/javascript" src="https://youtube-com.cdn.vidyome.com/vidyome/builds/player.js" id="vme_player_7861674386228024" container-id="vme-yt-75966749250372020" site-id="MTcwNQ==" video-id="ytb" video-play="false" video-source="https://www.youtube.com/embed/P75_9_Ze3zo?" video-poster="https://i.ytimg.com/vi/P75_9_Ze3zo/hqdefault.jpg"></script><div id="vme-yt-75966749250372020" class="te-player-container default vme_iframe vme_postquare" style="width:100%; height:100%; background: #000;  margin: 0; padding: 0;"><div id="vme-yt-75966749250372020clickContainer" class="vme_clickContainer" style="display: none; cursor: pointer; width: 100%; height: 100%; position: absolute; inset: 0px; z-index: 90;"></div><span class="vme_offscreen">Video Player</span><div id="mep_0" class="vme_container vme_container-keyboard-inactive vme_video" role="application" aria-label="Video Player" style="width: 640px; height: 360px; min-width: 0px;"><div class="vme_inner"><div class="vme_mediaelement"><vmewrapper0 id="vme_player_7861674386228024_0"><div id="vme_player_7861674386228024_0-iframe-overlay" class="vme_iframe-overlay"></div><iframe id="vme_player_7861674386228024_0_youtube_iframe" frameborder="0" allowfullscreen="1" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" title="YouTube video player" width="640" height="360" src="https://www.youtube.com/embed/P75_9_Ze3zo?controls=1&rel=0&disablekb=1&showinfo=0&modestbranding=0&html5=1&iv_load_policy=3&autoplay=0&end=0&loop=0&playsinline=1&start=0&nocookie=false&enablejsapi=1&origin=https%3A%2F%2Farabic.rt.com&widgetid=1" data-gtm-yt-inspected-1_25="true"></iframe><video poster="https://i.ytimg.com/vi/P75_9_Ze3zo/hqdefault.jpg" id="vme_player_7861674386228024_0_from_mejs" style="object-fit: contain !important; width: 100%; height: 100%; display: none;" webkit-playsinline="" playsinline="" tabindex="-1" width="100%" height="100%" preload="none" src="https://www.youtube.com/embed/P75_9_Ze3zo?"><source src="https://www.youtube.com/embed/P75_9_Ze3zo?" type="video/youtube"></video></vmewrapper0></div><div class="vme_layers"><div class="vme_poster vme_layer" style="background-image: url("https://i.ytimg.com/vi/P75_9_Ze3zo/hqdefault.jpg"); width: 100%; height: 100%;"><img class="vme_poster-img" width="0" height="0" src="https://i.ytimg.com/vi/P75_9_Ze3zo/hqdefault.jpg"></div><div class="vme_overlay vme_layer" style="width: 100%; height: 100%; display: none;"><div class="vme_overlay-loading"><span class="vme_overlay-loading-bg-img"></span></div></div><div class="vme_overlay vme_layer" style="display: none; width: 100%; height: 100%;"><div class="vme_overlay-error"></div></div><div class="vme_overlay vme_layer vme_overlay-play" style="width: 100%; height: 100%;"><div class="vme_overlay-button" role="button" tabindex="-1" aria-label="Play" aria-pressed="false"></div></div><div class="vme_button vme_embed__code" style="width: 100%; height: 100%;"><a id="vme-yt-75966749250372020_embed" class="embed"></a></div></div><div class="vme_controls"><div class="vme_button vme_playpause-button vme_play"><button type="button" aria-controls="mep_0" title="Play" aria-label="Play" tabindex="-1"></button></div><div class="vme_time" role="timer" aria-live="off"><span class="vme_currenttime">00:00</span><span> | </span><span class="vme_duration">00:29</span></div><div class="vme_time-rail"><span class="vme_time-total vme_time-slider"><span class="vme_time-buffering" style="display: none;"></span><span class="vme_time-loaded"></span><span class="vme_time-current"></span><span class="vme_time-hovered no-hover"></span><span class="vme_time-handle"><span class="vme_time-handle-content"></span></span><span class="vme_time-float"><span class="vme_time-float-current">00:00</span><span class="vme_time-float-corner"></span></span></span></div><div class="vme_button vme_volume-button vme_unmute"><button type="button" aria-controls="mep_0" title="Unmute" aria-label="Unmute" tabindex="-1"></button></div><a class="vme_horizontal-volume-slider" href="javascript:void(0);" aria-label="Volume Slider" aria-valuemin="0" aria-valuemax="100" role="slider" aria-valuenow="80" aria-valuetext="80%"><span class="vme_offscreen">Use Up/Down Arrow keys to increase or decrease volume.</span><div class="vme_horizontal-volume-total"><div class="vme_horizontal-volume-current" style="left: 0px; width: 0%;"></div><div class="vme_horizontal-volume-handle" style="left: 0%;"></div></div></a><div class="vme_button vme_fullscreen-button"><button type="button" aria-controls="mep_0" title="Fullscreen" aria-label="Fullscreen" tabindex="-1"></button></div><div class="vme_button vme_logo"><a target="_blank" href="https://www.vidyome.com/online-video-platform/" title=""></a></div></div></div><div id="vme-yt-75966749250372020adContainer" class="vme_adContainer full" style="display: none; width: 640px; height: 360px;"><div style="position: absolute; width: 640px; height: 360px;"><div style="display: none;"><video title="Advertisement" webkit-playsinline="true" playsinline="true" style="background-color: rgb(0, 0, 0); position: absolute; width: 100%; height: 100%; left: 0px; top: 0px;"></video><div style="position: absolute; width: 100%; height: 100%; left: 0px; top: 0px;"></div></div><div style="display: none;"><video title="Advertisement" webkit-playsinline="true" playsinline="true" style="background-color: rgb(0, 0, 0); position: absolute; width: 100%; height: 100%; left: 0px; top: 0px;"></video><div style="position: absolute; width: 100%; height: 100%; left: 0px; top: 0px;"></div></div><iframe src="https://imasdk.googleapis.com/js/core/bridge3.478.2_ru.html#goog_1069183254" allowfullscreen="" allow="autoplay;trust-token-redemption" style="border: 0px; opacity: 0; margin: 0px; padding: 0px; position: relative; color-scheme: light; width: 640px; height: 360px;" data-gtm-yt-inspected-1_25="true"></iframe><iframe name="goog_1069183255" sandbox="allow-scripts allow-same-origin" srcdoc="<script src=https://pagead2.googlesyndication.com/omsdk/releases/live/omweb-v1.js></script>" style="display: none;" data-gtm-yt-inspected-1_25="true"></iframe></div><div id="ima-controls-div" class="ima-controls-div" style="display: none;"><div id="ima-play-pause-div" class="ima-play-pause-div ima-playing"></div><div id="ima-mute-div" class="ima-mute-div"></div><div></div></div></div></div></div><div id="vme-yt-75966749250372020-ytb" class="ytb-native"><div id="vme-yt-75966749250372020_vmetive" class="vmetive-wrapper native_ads"><ul class="vmetive-ads native_ads"><li style="width:33.333333333333336% !important;"><a class="vme-yt-75966749250372020_vmetive_click eng_widget_href eng_ads" title="This is a big loss for Sylvester Stallone." data-href="https://paid.outbrain.com/network/redir?p=-qQxPtp44B73i90GMicIzQJrUbV2NVPe74egk_dTC61H8H9Y-yx0jEwUsu3aETCGqmEVAjmo5vyUo9C0OZs9PJL_6sQxBIFtfrVMJ7AUrfe1ITVXyKVS1ocCr-1Lp2dzc50F2y-oX6KRM_YZkXmnXU7PK722T8Fnme4jglK9cExitqrayA6ZibB-upoRH7OqeMblmcNmGGTsR7mvNX4Sf6xVfNvNk2lj43gRdph4RhN7makjDzbcd5FpBcAZ2ZUHG_CUHRIpk7esrodLhn-RKInaPes4Isn-1OWeV6ATeUadiTemLKnHeoluEcH63a_eg4kW9NLtY39vVi8_cpOLSMyyitH_boYkMNWr0hrtW6YRuzi0D_bm6nhVgW851SNqtmlIddjtSuRlEqh2HsGmW9xk4E2OYwp_WCOu3VGuDdfa8hbBHJGEliQ9TkwesLmm1iVeIlHuFeu27exTAltIfy29520G3BKd5QH7jsTGUc3xMa8Xsy6kMP-P0c2-5nxL5zP6_oG9aF0bapnBHRAHhlSvuT_WNujMbwLTM6aBID06nkWgDO4UmhJ6gYOay8SnmTzzwS_wxzTjWbrq_xk4cdSoBKxeho5-sSI6QYahodzRBpg2YUEnYuUquYBjOCxAflF3YXufVs-FwFzFEZPFVxTzj6lgAXvPJ-sqLtR6p6Z0egJi0BCnWQHDNR9OmGlCOS-QVFiptdvuzahirDaNi4kmB5T8_oTVzOyG-mBYg7C-WKIbtWKq2aFpFu05ZBYr6Il-zOrxLzKxWP_t7-XCjJsHuqDogj36Wsjeg3q07Au4H_g76F38gERPrVYwSJIQdW21uOcCmnRe9VoKlEnlWQJk1pG-LBa4JxQGUSNXFt7nuXiflF467cFXW4U4bVwgZ1uXtvkZ9o2W6UZeaSt62bQDNGoCUnGUSL7nnd3r_qBFt1c4PlAV_E8FXCfTvUita2ZU6lnjWucY3CwRhKsZy7z3fyvX7IrWuLVEz5FuAEM0VmNjibQRa53iZ4MGvAVGl6G9F6EgmMLnNXXHWKgSq9B_jM4W14gnEQc3ZH23ipWXUtnVOuwszhH-JENlZwahgW7j8gcKVL73Ex-yYmU7WGpUJg--lcw9ncgPAMKXw-oDVcKu70_7NY5Ij9ekO8Hu420dptMLsnxyoO-Xo6DB4C5ZGTKKGOAOKyBE3vsHBCoY1h_fnc9dHtZxGMh7B09vzhCKCOFK0nhvIQgc01gIuhvy-9ACD8tnCjer8UYY4-on_hnJdBlsAHMvdj3A_uceWkVgpDVsS_0dOSPy4ij9BSwt9xsQ_EI44FlH7nIyxj_Hp_SA69wI5rd1ajHLlBvKUDwbKm7Rr13HCxDu6PzZCApB70vXzI5omxlvhGvk6lPkMe3mT5r7xURRLSeSSrVEz6XzaTKAg4-5RaBIhvxWllLSBj-ceN2iamMoNmGhm8A&c=9dbd8d12&v=3"><img src="https://images.outbrainimg.com/transform/v3/eyJpdSI6ImE2MDE0Yzg1MzA1NDZiMzY3MjFhNjJjZGZiMDgyNmUzNWIxZDY5ODM1MTVlMzY5YWI1NGMzZjZiNjBkZGE4ZTIiLCJ3IjozMDAsImgiOjIwMCwiZCI6MS41LCJjcyI6MCwiZiI6MH0.jpg"><h2>This is a big loss for Sylvester Stallone.</h2><p>Mansion Global</p></a></li><li style="width:33.333333333333336% !important;"><a class="vme-yt-75966749250372020_vmetive_click eng_widget_href eng_ads" title="لماذا تستخدم السلفادور البيتكوين؟" data-href="https://cs-api.gecko.me/gas-api/click.json?spid=251349779&swebid=139705&ssubid=http%3A%2F%2FArabic.rt.com%2F&dpid=900662452&dwebid=139705&wid=124784&ll=2&target=https%3A%2F%2Farabic.rt.com%2Frtonline%2Fvideo%2F1270599-%25D9%2584%25D9%2585%25D8%25A7%25D8%25B0%25D8%25A7-%25D8%25AA%25D8%25B3%25D8%25AA%25D8%25AE%25D8%25AF%25D9%2585-%25D8%25A7%25D9%2584%25D8%25B3%25D9%2584%25D9%2581%25D8%25A7%25D8%25AF%25D9%2588%25D8%25B1-%25D8%25A7%25D9%2584%25D8%25A8%25D9%258A%25D8%25AA%25D9%2583%25D9%2588%25D9%258A%25D9%2586&rectype=15&posttype=0&reqp=2OQ8Eoahh73Tzmmrn6bN1uEpii7mx%252BpFmzldRA%253D%253D&reqid=0213b1b7-97e4-4270-a667-5710b86fb315&isajx=false&c=MC4w&widprfl=-1&url=YHkVaro3n6ebYarAb5gxZQXU5KAh3MomaePa8YFmw%252FcfkpuBN3ON%252BS2tZ9AyOWeLkmg710%252FurxkkIgUDbsfAxGdwhukgTPPW4e3wda7YQBSUJ1uq6c5JFE%252FDvOsRZ7HR7y9bMC%252F76IRp8fRD3ztjEcvWyfDZkspSE%252B5AdC2m7SpdKOqHKTFNtQlZJ5b%252BQQ6Lm%252FDkyAYNPCWjRrxIMpkxeVAbd16UPu%252FfBNn9GxB3YlUo%252BILCsYzXb%252Femc00LyyQ4aoD%252F2VBvTc4hW6znnt%252BwUnF2bUHj%252BxdKlgnZK6%252FN3NgWCDK6P0HQVE2%252F4wc%253D&sessionid=45010064645373690044302125373676040171773864153624&rdt=r4N2mG7X55YQcGrKNeTfnDrBl5NkVkc9v5060w%253D%253D&ecv=cTQyq1ioKtYwdKB6tWmrOOMhQT5KytyWkm7hPQ%253D%253D&eci=tEjr1MkYE4GZEK5GciLX00Te4xINJ4uvYetOQJ%252FMNabgENycpNeI9m1YejTxYYnDbZXJiWEeeb9%252F%252Fkq0"><img src="https://img9-api.postquare.com/b5/7a/website_139705/de/f1/71/cdni.rt.com.6137b3354c59b75b274208da_2_171699_17.jpg"><h2>لماذا تستخدم السلفادور البيتكوين؟</h2><p></p></a></li><li style="width:33.333333333333336% !important;"><a class="vme-yt-75966749250372020_vmetive_click eng_widget_href eng_ads" title="تعرف على أعداد اليهود في العالم بما في ذلك في بعض الدول العربية والإسلامية" data-href="https://cs-api.gecko.me/gas-api/click.json?spid=251349779&swebid=139705&ssubid=http%3A%2F%2FArabic.rt.com%2F&dpid=900437129&dwebid=139705&wid=124784&ll=3&target=https%3A%2F%2Farabic.rt.com%2Fworld%2F1270580-%25D8%25AA%25D8%25B9%25D8%25B1%25D9%2581-%25D8%25B9%25D9%2584%25D9%2589-%25D8%25A3%25D8%25B9%25D8%25AF%25D8%25A7%25D8%25AF-%25D8%25A7%25D9%2584%25D9%258A%25D9%2587%25D9%2588%25D8%25AF-%25D9%2581%25D9%258A-%25D8%25A7%25D9%2584%25D8%25B9%25D8%25A7%25D9%2584%25D9%2585&rectype=14&posttype=0&reqp=jcacpIzppluPIQZUl56cqeZld28TxT4kskIw2A%253D%253D&reqid=0213b1b7-97e4-4270-a667-5710b86fb315&isajx=false&c=MC4w&widprfl=-1&url=WiUmf5OVBnUQM7DpzbnoNDlziYPGlQdY%252F42BVMzFed3VbKFATs451%252FgokHJFLQhp%252Bj5AblYoE4HdxDvsygUDb6cqpjtbnKSkf7zKAtS%252FbivPI%252FCGuLblZiPApfli5lhroaZy%252FPylnwk5xTN4pSNEB24eogT%252FyyQ%252BROVtrAZFf0lX8WjognOrZJBooluhHBr1JMJAoQGHUSiON05k%252B9JTyGHKOl1jfyl1hD%252FdFJ8ZGC%252FfWF6SeyueybGC79Ccch3bq2VpkFmDKjFg1z%252Bq4WHhpbj4cj2UYQvhqB%252FA6g%253D%253D&sessionid=45010064645373690044302125373676040171773864153624&rdt=NdnGkK3KBDh5jKLG9Geqq%252BO8lQdPS72L%252FeKJYg%253D%253D&ecv=tBeQyKWSmUIopQ2OjZaPzGWHb0CHh4DvUmtaRg%253D%253D&eci=EE7o6LmU0SZPXVOzYHkOzjG8ufneJe5W8Bo%252FYLMwgSc%252F6%252FyLS9r4xKw1jlfFEDufleN5KW46adRtqrp8"><img src="https://img9-api.postquare.com/b5/7a/website_139705/4f/52/0c/cdni.rt.com.613751474236046a73693395_2_189147_17.jpg"><h2>تعرف على أعداد اليهود في العالم بما في ذلك في بعض الدول العربية والإسلامية</h2><p></p></a></li></ul></div></div><script>
                        if (!document.getElementById('vme-player')) {
                            var vmePlayer = document.createElement('script');
                            vmePlayer.setAttribute('id', 'vme-player');
                            vmePlayer.setAttribute('site-id', 'MTcwNQ==');
                            vmePlayer.src = '//vidyome-com.cdn.vidyome.com/vidyome/builds/vme-yt.js';
                            if (document.body) {
                                document.body.appendChild(vmePlayer);
                            }
                        }
                    </script></div><div class="font-panel js-fontpanel"><button id="fontBigger" title="زيادة حجم الخط" href="#"> A+ </button><button id="fontDefault" class="active" title="الخط بالحجم الطبيعي"> A </button><button id="fontSmaller" title=" تصغير حجم الخط "> A- </button><div id="get-short-url"><a href="/middle_east/1270940-%D9%84%D8%AD%D8%B8%D8%A9-%D8%A7%D9%86%D8%AA%D8%B4%D8%A7%D8%B1-%D8%A7%D9%84%D8%AC%D9%8A%D8%B4-%D8%A7%D9%84%D8%B3%D9%88%D8%B1%D9%8A-%D9%81%D9%8A-%D8%AD%D9%8A-%D8%AF%D8%B1%D8%B9%D8%A7-%D8%A7%D9%84%D8%A8%D9%84%D8%AF-%D8%A8%D8%B9%D8%AF-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82-%D8%A7%D8%AA%D9%81%D8%A7%D9%82-%D8%A7%D9%84%D8%AA%D8%B3%D9%88%D9%8A%D8%A9-%D8%A8%D8%A7%D9%84%D9%81%D9%8A%D8%AF%D9%8A%D9%88/">انسخ الرابط</a><span class="short-url" dir="ltr">https://ar.rt.com/r8nw</span></div><script>
                        var settings = {
                            watchesID: 1270940            };
                    </script><div class="article__watches"><div class="watches"><span class="watches__counter">
                    6469
                </span></div></div></div><div class="article__social-wrapper"><div class="article-facebook"><script>
                                window.RT = window.RT || {}
                                window.RT.facebook = {};
                            </script><div class="fb-like fb_iframe_widget" data-href="https://arabic.rt.com/middle_east/1270940-%D9%84%D8%AD%D8%B8%D8%A9-%D8%A7%D9%86%D8%AA%D8%B4%D8%A7%D8%B1-%D8%A7%D9%84%D8%AC%D9%8A%D8%B4-%D8%A7%D9%84%D8%B3%D9%88%D8%B1%D9%8A-%D9%81%D9%8A-%D8%AD%D9%8A-%D8%AF%D8%B1%D8%B9%D8%A7-%D8%A7%D9%84%D8%A8%D9%84%D8%AF-%D8%A8%D8%B9%D8%AF-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82-%D8%A7%D8%AA%D9%81%D8%A7%D9%82-%D8%A7%D9%84%D8%AA%D8%B3%D9%88%D9%8A%D8%A9-%D8%A8%D8%A7%D9%84%D9%81%D9%8A%D8%AF%D9%8A%D9%88/" data-layout="button_count" data-action="like" data-size="small" data-share="true" data-show-faces="false" fb-xfbml-state="rendered" fb-iframe-plugin-query="action=like&app_id=187897215206388&container_width=0&href=https%3A%2F%2Farabic.rt.com%2Fmiddle_east%2F1270940-%25D9%2584%25D8%25AD%25D8%25B8%25D8%25A9-%25D8%25A7%25D9%2586%25D8%25AA%25D8%25B4%25D8%25A7%25D8%25B1-%25D8%25A7%25D9%2584%25D8%25AC%25D9%258A%25D8%25B4-%25D8%25A7%25D9%2584%25D8%25B3%25D9%2588%25D8%25B1%25D9%258A-%25D9%2581%25D9%258A-%25D8%25AD%25D9%258A-%25D8%25AF%25D8%25B1%25D8%25B9%25D8%25A7-%25D8%25A7%25D9%2584%25D8%25A8%25D9%2584%25D8%25AF-%25D8%25A8%25D8%25B9%25D8%25AF-%25D8%25AA%25D8%25B7%25D8%25A8%25D9%258A%25D9%2582-%25D8%25A7%25D8%25AA%25D9%2581%25D8%25A7%25D9%2582-%25D8%25A7%25D9%2584%25D8%25AA%25D8%25B3%25D9%2588%25D9%258A%25D8%25A9-%25D8%25A8%25D8%25A7%25D9%2584%25D9%2581%25D9%258A%25D8%25AF%25D9%258A%25D9%2588%2F&layout=button_count&locale=ar_AR&sdk=joey&share=true&show_faces=false&size=small"><span style="vertical-align: bottom; width: 150px; height: 28px;"><iframe name="f341b3a54aac6bc" width="1000px" height="1000px" data-testid="fb:like Facebook Social Plugin" title="fb:like Facebook Social Plugin" frameborder="0" allowtransparency="true" allowfullscreen="true" scrolling="no" allow="encrypted-media" src="https://www.facebook.com/v2.8/plugins/like.php?action=like&app_id=187897215206388&channel=https%3A%2F%2Fstaticxx.facebook.com%2Fx%2Fconnect%2Fxd_arbiter%2F%3Fversion%3D46%23cb%3Df1a1f1dd26df378%26domain%3Darabic.rt.com%26is_canvas%3Dfalse%26origin%3Dhttps%253A%252F%252Farabic.rt.com%252Ff20df901d79804c%26relation%3Dparent.parent&container_width=0&href=https%3A%2F%2Farabic.rt.com%2Fmiddle_east%2F1270940-%25D9%2584%25D8%25AD%25D8%25B8%25D8%25A9-%25D8%25A7%25D9%2586%25D8%25AA%25D8%25B4%25D8%25A7%25D8%25B1-%25D8%25A7%25D9%2584%25D8%25AC%25D9%258A%25D8%25B4-%25D8%25A7%25D9%2584%25D8%25B3%25D9%2588%25D8%25B1%25D9%258A-%25D9%2581%25D9%258A-%25D8%25AD%25D9%258A-%25D8%25AF%25D8%25B1%25D8%25B9%25D8%25A7-%25D8%25A7%25D9%2584%25D8%25A8%25D9%2584%25D8%25AF-%25D8%25A8%25D8%25B9%25D8%25AF-%25D8%25AA%25D8%25B7%25D8%25A8%25D9%258A%25D9%2582-%25D8%25A7%25D8%25AA%25D9%2581%25D8%25A7%25D9%2582-%25D8%25A7%25D9%2584%25D8%25AA%25D8%25B3%25D9%2588%25D9%258A%25D8%25A9-%25D8%25A8%25D8%25A7%25D9%2584%25D9%2581%25D9%258A%25D8%25AF%25D9%258A%25D9%2588%2F&layout=button_count&locale=ar_AR&sdk=joey&share=true&show_faces=false&size=small" style="border: none; visibility: visible; width: 150px; height: 28px;" class="" data-gtm-yt-inspected-1_25="true"></iframe></span></div></div><div class="article__google-news article__google-news_desktop"><span>تابعوا RT على</span><a href="https://news.google.com/publications/CAAqBwgKMP263gIw8J0c" target="_blank" rel="nofollow noopener" onclick="ga('send', 'event', 'Google_News', 'Subscribe_Up', '/middle_east/1270940-%D9%84%D8%AD%D8%B8%D8%A9-%D8%A7%D9%86%D8%AA%D8%B4%D8%A7%D8%B1-%D8%A7%D9%84%D8%AC%D9%8A%D8%B4-%D8%A7%D9%84%D8%B3%D9%88%D8%B1%D9%8A-%D9%81%D9%8A-%D8%AD%D9%8A-%D8%AF%D8%B1%D8%B9%D8%A7-%D8%A7%D9%84%D8%A8%D9%84%D8%AF-%D8%A8%D8%B9%D8%AF-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82-%D8%A7%D8%AA%D9%81%D8%A7%D9%82-%D8%A7%D9%84%D8%AA%D8%B3%D9%88%D9%8A%D8%A9-%D8%A8%D8%A7%D9%84%D9%81%D9%8A%D8%AF%D9%8A%D9%88/')"><img src="/static/img/googlenews.svg" alt="RT" style="vertical-align: middle; width: 120px"></a></div><div class="article__google-news-mobile"><a href="https://news.google.com/publications/CAAqBwgKMP263gIw8J0c" target="_blank" rel="nofollow noopener" onclick="ga('send', 'event', 'Google_News', 'Subscribe_Down', '/middle_east/1270940-%D9%84%D8%AD%D8%B8%D8%A9-%D8%A7%D9%86%D8%AA%D8%B4%D8%A7%D8%B1-%D8%A7%D9%84%D8%AC%D9%8A%D8%B4-%D8%A7%D9%84%D8%B3%D9%88%D8%B1%D9%8A-%D9%81%D9%8A-%D8%AD%D9%8A-%D8%AF%D8%B1%D8%B9%D8%A7-%D8%A7%D9%84%D8%A8%D9%84%D8%AF-%D8%A8%D8%B9%D8%AF-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82-%D8%A7%D8%AA%D9%81%D8%A7%D9%82-%D8%A7%D9%84%D8%AA%D8%B3%D9%88%D9%8A%D8%A9-%D8%A8%D8%A7%D9%84%D9%81%D9%8A%D8%AF%D9%8A%D9%88/')"><img src="/static/img/googlenews_mobile.gif" alt="RT"></a></div></div><div class="text js-text js-mediator-article"><p class="intro">
                        أظهرت مقاطع فيديو وصور نشرتها وسائل إعلام رسمية لحظة دخول وحدات الجيش السوري والجهات المختصة لمنطقة درعا البلد وضمان عدم وجود أي أسلحة وألغام وتأكيد أمنها وخلوها تماما من الإرهاب.
                    </p><p>ونشرت وكالة "سانا" السورية مقطع فيديو يوثق لحظة انتشار وحدات من الجيش السوري والجهات المختصة داخل المدينة.</p><p>وذكرت مراسلة سانا الحربية في درعا أن وحدات من الجيش بدأت بتثبيت عدد من النقاط تمهيدا لبدء عمليات تفتيش وتمشيط في المنطقة بحثا عن السلاح ومخلفات الإرهابيين من أسلحة وذخائر وعبوات ناسفة والكشف عن الأنفاق والتحصينات والأوكار تمهيدا لدخول ورشات المؤسسات الخدمية لإعادة تأهيل البنى التحتية والخدمية إلى الحي.</p><p>ولدى تمشيط المنطقة عثرت وحدات الجيش على نفق تحت الأبنية السكنية في حي درعا البلد استخدمه المسلحون للتسلل والاعتداء على الأحياء السكنية وحواجز الجيش في مدينة درعا.</p><div class="rtcode"><iframe src="https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2Fsyrianarabnews%2Fposts%2F598637458186002&show_text=true&width=500" width="500" height="706" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowfullscreen="true" allow="autoplay; clipboard-write; encrypted-media; picture-in-picture; web-share" data-gtm-yt-inspected-1_25="true"></iframe></div><p></p><div class="rtcode"><iframe src="https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2FAlikhbaria.Sy%2Fposts%2F4527586063931044&show_text=true&width=500" width="500" height="718" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowfullscreen="true" allow="autoplay; clipboard-write; encrypted-media; picture-in-picture; web-share" data-gtm-yt-inspected-1_25="true"></iframe></div><p>المصدر: سانا </p><div class="article__social-wrapper"><div class="article__google-news article__google-news_desktop"><span>تابعوا RT على</span><a href="https://news.google.com/publications/CAAqBwgKMP263gIw8J0c" target="_blank" rel="nofollow noopener" onclick="ga('send', 'event', 'Google_News', 'Subscribe_Down', '/middle_east/1270940-%D9%84%D8%AD%D8%B8%D8%A9-%D8%A7%D9%86%D8%AA%D8%B4%D8%A7%D8%B1-%D8%A7%D9%84%D8%AC%D9%8A%D8%B4-%D8%A7%D9%84%D8%B3%D9%88%D8%B1%D9%8A-%D9%81%D9%8A-%D8%AD%D9%8A-%D8%AF%D8%B1%D8%B9%D8%A7-%D8%A7%D9%84%D8%A8%D9%84%D8%AF-%D8%A8%D8%B9%D8%AF-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82-%D8%A7%D8%AA%D9%81%D8%A7%D9%82-%D8%A7%D9%84%D8%AA%D8%B3%D9%88%D9%8A%D8%A9-%D8%A8%D8%A7%D9%84%D9%81%D9%8A%D8%AF%D9%8A%D9%88/')"><img src="/static/img/googlenews.svg" alt="RT" style="vertical-align: middle; width: 120px"></a></div><div class="article__google-news-mobile"><a href="https://news.google.com/publications/CAAqBwgKMP263gIw8J0c" target="_blank" rel="nofollow noopener" onclick="ga('send', 'event', 'Google_News', 'Subscribe_Down', '/middle_east/1270940-%D9%84%D8%AD%D8%B8%D8%A9-%D8%A7%D9%86%D8%AA%D8%B4%D8%A7%D8%B1-%D8%A7%D9%84%D8%AC%D9%8A%D8%B4-%D8%A7%D9%84%D8%B3%D9%88%D8%B1%D9%8A-%D9%81%D9%8A-%D8%AD%D9%8A-%D8%AF%D8%B1%D8%B9%D8%A7-%D8%A7%D9%84%D8%A8%D9%84%D8%AF-%D8%A8%D8%B9%D8%AF-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82-%D8%A7%D8%AA%D9%81%D8%A7%D9%82-%D8%A7%D9%84%D8%AA%D8%B3%D9%88%D9%8A%D8%A9-%D8%A8%D8%A7%D9%84%D9%81%D9%8A%D8%AF%D9%8A%D9%88/')"><img src="/static/img/googlenews_mobile.gif" alt="RT"></a></div></div><div class="clears mh"></div></div></div>
              Andrey
              08 сентября 2021, 23:03
              0
              Кажется, что всё ещё должно работать "//@video-source". Если не работает, то где-то запинается. Может об двойные кавычки в
              background-image: url("https://i.ytimg.com/vi/P75_9_Ze3zo/hqdefault.jpg")
                Евгений
                10 сентября 2021, 20:14
                0
                сейчас пробую такую.похоже этот гребаный xparser классы с пробелом не понимает
                .//div/div/script/@video-source
                  Andrey
                  10 сентября 2021, 20:29
                  +1
                  Тут написано, что можно css подобным синтаксисом. Как-то так может?
                  div.video-iframe > script[video-source]
                    Евгений
                    10 сентября 2021, 20:48
                    0
                    ахах, а еще там прочитал только что что xpath имеет баг, не понимает названия тегов и их надо заменить звездами, при этом в самом xparser примеры с названиями… ппц
                    и некоторые записи такого вида работают, бред
        Евгений
        19 сентября 2021, 15:55
        0
        ничего так и не сработало, видимо xparser нерабочий
          Андрей
          19 сентября 2021, 16:58
          0
          А почему не написать в саппорт?
            Евгений
            19 сентября 2021, 21:48
            0
            там игнор и агрессия, ну и теперь еще срок со дня покупки прошел
            Andrey
            20 сентября 2021, 17:17
            +1
            Возможно дело не в xparser, а в xpath, который делался под более строгий к верстке xml формат. Думаю xpath просто путается и не может разложить все теги и кавычки из данной страницы. Поищите какой-нибудь xpath sandbox, вставьте туда весь код страницы, так будет понятней. Но я бы забил и искал другие решения, раз это не работает :)
              Евгений
              20 сентября 2021, 23:04
              0
              xpather.com вот здесьпроверял работает
              .//div/div/script/@video-poster
                Евгений
                23 сентября 2021, 17:33
                0
                оказалось именно в xparser, сам разраб сказал не знает почему у него пакет глючит с xpath
                продажам это не мешает :)

                значит надо как то средствами css и regexp
                  Andrey
                  23 сентября 2021, 18:04
                  0
                  css синтаксис тоже не работает в xparser?
                  div.video-iframe > script[video-source]
                  Написано, что можно переключиться.
                    Евгений
                    23 сентября 2021, 19:08
                    0
                    пробую сейчас, вроде не срабатывало чтото
                    div.video-iframe > script[video-source]
                      Евгений
                      24 сентября 2021, 09:31
                      0
                      нет так тоже не работает
                Дмитрий Кондаков
                20 сентября 2021, 08:29
                +1
                Уже не помню почему, но я в свое время использовал такую конструкцию с классом:
                .//img[contains(@class, 'img-fluid')]/@src
                Несколько классов не делал, но если верить докам то должно быть как-то так:
                //div[contains(@class, 'class1') and contains(@class, 'class2')]
                  Евгений
                  20 сентября 2021, 12:00
                  0
                  да я вообще ужеклассы убирал
                  .//div/div/script/@video-poster не работет
                  попробую с классами конечно
                  Евгений
                  21 сентября 2021, 13:11
                  0
                  автор xParser прокомментируй почему в песочнице XPATH работает а в твоем пакете нет?
                    Евгений
                    24 сентября 2021, 09:33
                    0
                    пробовал CSS
                    div.video-iframe > script[video-source]
                    тоже не работает
                      Andrey
                      24 сентября 2021, 18:20
                      0
                      Вообще у меня есть предположение почему не работает и как исправить. Но надо уже лезть в код и править чужое платное дополнение, что, в общем, такое себе…
                      А какой функционал нужен, может проще свой снипет уже сделать?
                        Евгений
                        24 сентября 2021, 19:09
                        0
                        да был бы лично мой сайт я бы эту какаху недоделанную и не стал бы покупать
                        ну и по этой же причине свои снипеты писат ьа затем и к ним интерфейсы не очень то тянет
                        а почему кстати не работает? я бы покопался в коде, все равно этот xparser уже нельзя обновлять, он сразу перестает работать вообще
                          Andrey
                          24 сентября 2021, 20:40
                          0
                          а почему кстати не работает?
                          Честно сказать, жалею, что это написал. Не хочу возиться с этим. У дополнения есть автор, ему и карты в руки :)
                            Евгений
                            24 сентября 2021, 20:54
                            0
                            незнаю, много у кого не работает после обновлений на определенные версии, у меня просто перестает работать веб-интерфейс, ошибок никаких нигде нет, автор говорит ничего не может сделать и тп
                            да лан, забей… автор паша гвоздь забил :)
                        Евгений
                        28 сентября 2021, 09:04
                        0
                        попробовал regexp
                        «div class=»video-iframe yt-vme-container[\S\s]*?script video-source=\"(.*?)\""
                        и
                        «script video-poster=\»(.*?)\""

                        и получил
                        [2021-09-28 05:00:05] (ERROR @ ../core/components/xparser/handlers/parser/xpparser.class.php: 393) PHP warning: preg_match(): Unknown modifier 'v'

                        case 'regexp':
                                                                        <strong>if (preg_match($v['selector'], $row, $match)) {</strong>
                                                                            $string = $match[1];
                                                                        }
                                                                        break;
                          Евгений
                          28 сентября 2021, 14:32
                          0
                          оп тут кавычка без экрана )
                            Andrey
                            28 сентября 2021, 17:36
                            +1
                              Евгений
                              28 сентября 2021, 23:44
                              0
                              ахаха, паша гвоздь он даже если сделает xparser то обновлять его не вариант будет, так как он перестает работать совсем :)
                            Sergey (Sentinel)
                            28 сентября 2021, 21:12
                            0
                            я картинку примерно так вытаскивал
                            .//*[@class="jeg_featured featured_image"]/a/@href
                            еще вариант
                            .//div/img/@data-src
                            попробуй посмотреть вложенность… может не попадаешь
                              Sergey (Sentinel)
                              28 сентября 2021, 21:17
                              0
                              стоп, посмотрел код из которого пытаетесь получить ссылку на видео, а где там data-srcset?
                              я вижу только video-source параметр
                                Евгений
                                28 сентября 2021, 23:43
                                0
                                .//div/div/picture/source/@data-srcset
                                этот код рабочий он с другим куском кода работает изабирает к нему вопросов нет
                                проблема вытащить video-source и video-poster
                                  Дмитрий Кондаков
                                  29 сентября 2021, 00:28
                                  +1
                                  У тебя на странице нет никакого @video-source, смотри исходный код страницы не через консоль браузера, блок с @video-source создает js, и парсер его не видит. Судя по всему тебе нужен блок .video-iframe > iframe > src
                                    Евгений
                                    29 сентября 2021, 01:23
                                    0
                                    ыыы точно! где ж ты раьше был…
                                      Павел
                                      01 января 2024, 22:50
                                      0
                                      Еще вопрос по Xparser

                                      Подскажите если имею такую структуру
                                      <div class="chairs_page_list">
                                      <a href="/">
                                      товар 1
                                      </a>
                                      <a href="/">
                                      товар 2
                                      </a>
                                      ....
                                      </div>
                                      Как мне правильно записать селектор записи для основного задания и парсить ссылку для подчиненного?
                              Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                              41