выражение для 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">...
Комментарии: 41
Не знаю что там с 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];
А вообще, если оно как xpath, то с незакрытыми тегами оно может не работать. В примере script и div не закрыты.
что ты имеешь в виду про незакрытые?
.//div/div/picture/source/@data-srcset вот эта канитель работает и примеры для настройки там так же описаны типа
XPath выражение.
.//h3[@class=«title»]/a
.//h3[@class=«title»]/a/@href
.//div/div/picture/source/@data-srcset вот эта канитель работает и примеры для настройки там так же описаны типа
XPath выражение.
.//h3[@class=«title»]/a
.//h3[@class=«title»]/a/@href
Не могу ничего сказать про 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>
И тогда должно работать.
ну там теги закрыты само собой я просто кусок кода показал как он есть до нужного места
Тогда не знаю. Если брать этот кусок кода с закрытыми тегами, то выражение должно работать. Тут даже //@video-source должно работать. Покажите весь html код, может тогда ясней станет.
<?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}";
}
а как это использовать?
Я думаю это просто в доказательство, что в данной строке для поиска будет работать даже простой xpath запрос "//@video-source". Евгений, покажите весь код, из которого хотите достать ссылку, думаю тогда подскажут, если с запросом что-то не так.
вот весь код страницы от которого пляски начинаются, .article и из него уже все парситсяв поля
//@video-source возможно, сейчас пробую такое:
.//*[@class=«video-iframe yt-vme-container»]/script/@video-poster
.//*[@class=«video-iframe yt-vme-container»]/script/@video-source
жду когда появится чтото
//@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>
Кажется, что всё ещё должно работать "//@video-source". Если не работает, то где-то запинается. Может об двойные кавычки в
background-image: url("https://i.ytimg.com/vi/P75_9_Ze3zo/hqdefault.jpg")
…
сейчас пробую такую.похоже этот гребаный xparser классы с пробелом не понимает
.//div/div/script/@video-source
.//div/div/script/@video-source
Тут написано, что можно css подобным синтаксисом. Как-то так может?
div.video-iframe > script[video-source]
ахах, а еще там прочитал только что что xpath имеет баг, не понимает названия тегов и их надо заменить звездами, при этом в самом xparser примеры с названиями… ппц
и некоторые записи такого вида работают, бред
и некоторые записи такого вида работают, бред
ничего так и не сработало, видимо xparser нерабочий
А почему не написать в саппорт?
там игнор и агрессия, ну и теперь еще срок со дня покупки прошел
Возможно дело не в xparser, а в xpath, который делался под более строгий к верстке xml формат. Думаю xpath просто путается и не может разложить все теги и кавычки из данной страницы. Поищите какой-нибудь xpath sandbox, вставьте туда весь код страницы, так будет понятней. Но я бы забил и искал другие решения, раз это не работает :)
xpather.com вот здесьпроверял работает
.//div/div/script/@video-poster
.//div/div/script/@video-poster
оказалось именно в xparser, сам разраб сказал не знает почему у него пакет глючит с xpath
продажам это не мешает :)
значит надо как то средствами css и regexp
продажам это не мешает :)
значит надо как то средствами css и regexp
css синтаксис тоже не работает в xparser?
div.video-iframe > script[video-source]Написано, что можно переключиться.
пробую сейчас, вроде не срабатывало чтото
div.video-iframe > script[video-source]
div.video-iframe > script[video-source]
нет так тоже не работает
Уже не помню почему, но я в свое время использовал такую конструкцию с классом:
.//img[contains(@class, 'img-fluid')]/@src
Несколько классов не делал, но если верить докам то должно быть как-то так://div[contains(@class, 'class1') and contains(@class, 'class2')]
да я вообще ужеклассы убирал
.//div/div/script/@video-poster не работет
попробую с классами конечно
.//div/div/script/@video-poster не работет
попробую с классами конечно
автор xParser прокомментируй почему в песочнице XPATH работает а в твоем пакете нет?
пробовал CSS
div.video-iframe > script[video-source]
тоже не работает
div.video-iframe > script[video-source]
тоже не работает
Вообще у меня есть предположение почему не работает и как исправить. Но надо уже лезть в код и править чужое платное дополнение, что, в общем, такое себе…
А какой функционал нужен, может проще свой снипет уже сделать?
А какой функционал нужен, может проще свой снипет уже сделать?
да был бы лично мой сайт я бы эту какаху недоделанную и не стал бы покупать
ну и по этой же причине свои снипеты писат ьа затем и к ним интерфейсы не очень то тянет
а почему кстати не работает? я бы покопался в коде, все равно этот xparser уже нельзя обновлять, он сразу перестает работать вообще
ну и по этой же причине свои снипеты писат ьа затем и к ним интерфейсы не очень то тянет
а почему кстати не работает? я бы покопался в коде, все равно этот xparser уже нельзя обновлять, он сразу перестает работать вообще
а почему кстати не работает?Честно сказать, жалею, что это написал. Не хочу возиться с этим. У дополнения есть автор, ему и карты в руки :)
незнаю, много у кого не работает после обновлений на определенные версии, у меня просто перестает работать веб-интерфейс, ошибок никаких нигде нет, автор говорит ничего не может сделать и тп
да лан, забей… автор паша гвоздь забил :)
да лан, забей… автор паша гвоздь забил :)
попробовал 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'
«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;
оп тут кавычка без экрана )
ахаха, паша гвоздь он даже если сделает xparser то обновлять его не вариант будет, так как он перестает работать совсем :)
я картинку примерно так вытаскивал
.//*[@class="jeg_featured featured_image"]/a/@href
еще вариант.//div/img/@data-src
попробуй посмотреть вложенность… может не попадаешь
стоп, посмотрел код из которого пытаетесь получить ссылку на видео, а где там data-srcset?
я вижу только video-source параметр
я вижу только video-source параметр
.//div/div/picture/source/@data-srcset
этот код рабочий он с другим куском кода работает изабирает к нему вопросов нетпроблема вытащить video-source и video-poster
У тебя на странице нет никакого @video-source, смотри исходный код страницы не через консоль браузера, блок с @video-source создает js, и парсер его не видит. Судя по всему тебе нужен блок .video-iframe > iframe > src
ыыы точно! где ж ты раьше был…
Еще вопрос по Xparser
Подскажите если имею такую структуру
Подскажите если имею такую структуру
<div class="chairs_page_list">
<a href="/">
товар 1
</a>
<a href="/">
товар 2
</a>
....
</div>
Как мне правильно записать селектор записи для основного задания и парсить ссылку для подчиненного?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.