Спарсить картинки с помощью PHP из скрипта присутствующего в ХТМЛ


Buildozer
114

Парни имеется некий HTML в котором присутствует некий скрипт
<script type="text/javascript">
/*<![CDATA[*/
куча данных .....
среди которых есть данные типа 
 [{"images":[{"b":"<img  id='bi0'  data-type="b" data-index='0'  src="https://searchengines.guru/ru/forum/b13b74bf-98f9-421c-ab4e-1a9de1d6ab25.JPG" alt="" width="100%">","s":"<img id="si0" data-type="s" data-index="0" class="ism" src="0a7d213b-bbc8-4de4-b91a-da497b474973.JPG" alt="">"},{"b":"<img itemprop="image" id='bi1'  data-type="b" data-index='1'  src="be5bb8ce-c235-45b1-a8d6-2947960e7668.JPG" alt="" width="100%">","s":"<img id="si1" data-type="s" data-index="1" class="ism" src="d287d950-f2e8-4c3d-8486-021fb6592587.JPG" alt="">"},{"b":"<img  id='bi2'  data-type="b" data-index='2'  src="c32c8c77-06e8-4e3b-ab26-c7fee0bb20d5.JPG" alt="" width="100%">","s":"<img id="si2" data-type="s" data-index="2" class="ism" src="f1d1821e-7431-432a-ba0f-d30a755a281e.JPG" alt="">"},{"b":"<img  id='bi3'  data-type="b" data-index='3'  src="d03799de-3b63-43b0-826e-aa8b946fd78e.JPG" alt="" width="100%">","s":"<img id="si3" data-type="s" data-index="3" class="ism" src="7f8f49d0-f07d-4247-b1f4-2984c470ec84.JPG" alt="">"},{"b":"<img  id='bi4'  data-type="b" data-index='4'  src="f96c36ec-659b-482b-b1cd-b1e582ad05ab.JPG" alt="" width="100%">","s":"<img id="si4" data-type="s" data-index="4" class="ism" src="e77b4d56-1c9e-4d4c-8dcf-1b269788cb85.JPG" alt="">"},{"b":"<img  id='bi5'  data-type="b" data-index='5'  src="3f34363f-b78b-480d-831c-a94859ee9d9d.JPG" alt="" width="100%">","s":"<img id="si5" data-type="s" data-index="5" class="ism" src="84f6a16e-891a-4e97-927d-f11538caa468.JPG" alt="">"},{"b":"<img  id='bi6'  data-type="b" data-index='6'  src="b4a052c2-3bae-41d0-86e2-74d1998f9dac.JPG" alt="" width="100%">","s":"<img id="si6" data-type="s" data-index="6" class="ism" src="c4d05bec-7618-44e5-821d-5e5fe5b46dee.JPG" alt="">"},{"b":"<img  id='bi7'  data-type="b" data-index='7'  src="2e481f63-d324-4b3c-a11a-74803924ae87.JPG" alt="" width="100%">","s":"<img id="si7" data-type="s" data-index="7" class="ism" src="ae13bb99-4765-43b1-be6e-cdb48b29adef.JPG" alt="">"},{"b":"<img  id='bi8'  data-type="b" data-index='8'  src="2d799662-0198-49fb-ae6c-d82fe02c7ecd.JPG" alt="" width="100%">","s":"<img id="si8" data-type="s" data-index="8" class="ism" src="5729a08f-3c43-4b36-abdc-1e95bdf1162b.JPG" alt="">"},{"b":"<img  id='bi9'  data-type="b" data-index='9'  src="81553398-54e6-4ea1-9c0b-b1d7418c829f.JPG" alt="" width="100%">","s":"<img id="si9" data-type="s" data-index="9" class="ism" src="9394b240-325a-47a8-8bbd-8b2707ba8302.JPG" alt="">"}],"rtl":false,"lang":{"off":"Off","no_image":"No Image","zoom":"Zoom","view_all":"View All Photos"}}]);
далее еще куча данных и
app.inject('Cookies', [{}]);
/*]]>*/
</script>

нужно выдрать все урлы картинок с <img  id=’biХ… . их 10 шт.
решил костылем но получается что поверх моего решения которое бежит в нескольких циклах есть еще основной цикл так вот получается что при каждом последующем главном цикле решение отрабатывает уже не 10 картинок а какимто макаром 20 40 80 итд причем повторяющихся каждые 10. если парсить в одиночнку то все проходит успешно и парсятся все 10 нужных картинок но если пускать в цикле то покругу парсятся теже картинки и их кол-во растет в прогрессии.
помогите пожалуйста грамотно решить.


Dram

$re="~<img(.*)>~mU";
$str="<script type="text/javascript">
/*<![CDATA[*/
куча данных .....
среди которых есть данные типа
[{"images":[{"b":"<img  id="bi0'  data-type='b' data-index='0'  src='b13b74bf-98f9-421c-ab4e-1a9de1d6ab25.JPG' alt='' width='100%'>","s":"<img id=\"si0\" data-type=\"s\" data-index=\"0\" class=\"ism\" src=\"0a7d213b-bbc8-4de4-b91a-da497b474973.JPG\" alt=\"">"},{"b":"<img itemprop=\"image\" id='bi1'  data-type='b' data-index='1'  src='be5bb8ce-c235-45b1-a8d6-2947960e7668.JPG' alt='' width='100%'>","s":"<img id=\"si1\" data-type=\"s\" data-index=\"1\" class=\"ism\" src=\"d287d950-f2e8-4c3d-8486-021fb6592587.JPG\" alt=\"">"},{"b":"<img  id='bi2'  data-type='b' data-index='2'  src='c32c8c77-06e8-4e3b-ab26-c7fee0bb20d5.JPG' alt='' width='100%'>","s":"<img id=\"si2\" data-type=\"s\" data-index=\"2\" class=\"ism\" src=\"f1d1821e-7431-432a-ba0f-d30a755a281e.JPG\" alt=\"">"},{"b":"<img  id='bi3'  data-type='b' data-index='3'  src='d03799de-3b63-43b0-826e-aa8b946fd78e.JPG' alt='' width='100%'>","s":"<img id=\"si3\" data-type=\"s\" data-index=\"3\" class=\"ism\" src=\"7f8f49d0-f07d-4247-b1f4-2984c470ec84.JPG\" alt=\"">"},{"b":"<img  id='bi4'  data-type='b' data-index='4'  src='f96c36ec-659b-482b-b1cd-b1e582ad05ab.JPG' alt='' width='100%'>","s":"<img id=\"si4\" data-type=\"s\" data-index=\"4\" class=\"ism\" src=\"e77b4d56-1c9e-4d4c-8dcf-1b269788cb85.JPG\" alt=\"">"},{"b":"<img  id='bi5'  data-type='b' data-index='5'  src='3f34363f-b78b-480d-831c-a94859ee9d9d.JPG' alt='' width='100%'>","s":"<img id=\"si5\" data-type=\"s\" data-index=\"5\" class=\"ism\" src=\"84f6a16e-891a-4e97-927d-f11538caa468.JPG\" alt=\"">"},{"b":"<img  id='bi6'  data-type='b' data-index='6'  src='b4a052c2-3bae-41d0-86e2-74d1998f9dac.JPG' alt='' width='100%'>","s":"<img id=\"si6\" data-type=\"s\" data-index=\"6\" class=\"ism\" src=\"c4d05bec-7618-44e5-821d-5e5fe5b46dee.JPG\" alt=\"">"},{"b":"<img  id='bi7'  data-type='b' data-index='7'  src='2e481f63-d324-4b3c-a11a-74803924ae87.JPG' alt='' width='100%'>","s":"<img id=\"si7\" data-type=\"s\" data-index=\"7\" class=\"ism\" src=\"ae13bb99-4765-43b1-be6e-cdb48b29adef.JPG\" alt=\"">"},{"b":"<img  id='bi8'  data-type='b' data-index='8'  src='2d799662-0198-49fb-ae6c-d82fe02c7ecd.JPG' alt='' width='100%'>","s":"<img id=\"si8\" data-type=\"s\" data-index=\"8\" class=\"ism\" src=\"5729a08f-3c43-4b36-abdc-1e95bdf1162b.JPG\" alt=\"">"},{"b":"<img  id='bi9'  data-type='b' data-index='9'  src='81553398-54e6-4ea1-9c0b-b1d7418c829f.JPG' alt='' width='100%'>","s":"<img id=\"si9\" data-type=\"s\" data-index=\"9\" class=\"ism\" src=\"9394b240-325a-47a8-8bbd-8b2707ba8302.JPG\" alt=\"">"}],"rtl":false,"lang":{"off":"Off","no_image":"No Image","zoom":"Zoom","view_all":"View All Photos"}}]);
далее еще куча данных и
app.inject('Cookies', [{}]);
/*]]>*/
</script>';

preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);

// Print the entire match result
var_dump($matches);

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *