Задать вопрос
TheDarhi
@TheDarhi

Перенос значения с одного сайта на другой?

Добрый день, имеется сайт на котором расположены самые свежие цены по дистрибьюторам на товары.
Хотим сделать конфигуратор, используя эти цены.

На сайте, сама цена отображается в <div class="price-td">
в div имеются:
<span data-currencyvalue="usd" class="js_price ">43.45</span>
<span data-currencysign="usd" class="js_sign ">$</span>

и еще пару span с параметрами.

сам <div> находится в <td>, а он с вою очередь в <tr id="5968892" class="">

Соответственно мы имеем сайт, на котором есть идентифицированный <tr id="5968892" class=""> для соответствующего товара, в нем есть таблица, в не имеется переменная "цена" со значением <div class="price-td">, которое нам и нужно получить. Вопрос, как его отобразить на другом сайте? Возможно есть какой то вид ссылки, котоый может отобразить конечную переменную в виде числа
<span data-currencyvalue="usd" class="js_price ">43.45</span>
и его эквивалента
<span data-currencysign="usd" class="js_sign "$/span>
.
По сути должно быть какое то обращение на сайт, с поиском <div class="price-td"> находящимся в <tr id="5968892" class="">

Структура страницы с товаром выглядит так:

<tbody data-ajaxupdate="rows"><tr id="5968891" class="">
                                                <td>MOXA и ICP DAS</td>
                                                <td>42895</td>
                                                <td class="text-align-left-td product-title" title="Компьютер V2403-C3-T (CTO Models) x86 ready-to-run embedded computer with Intel Core i3 3217UE, 1 HD">Компьютер V2403-C3-T (CTO Models) x86 ready-to-run embedded computer with Intel Core i3 3217UE, 1 HD</td>
                                                <td>#NULL!</td>
                                                <!--<td></td>-->
                                                <td>
                                                    <div class="price-td">
                                                        <span data-currencyvalue="usd" class="js_price ">37.59</span><span data-currencysign="usd" class="js_sign ">$</span>
                                                        <span data-currencyvalue="eur" class="js_price hidden">34.14</span><span data-currencysign="eur" class="js_sign hidden">€</span>
                                                        <span data-currencyvalue="rub" class="js_price hidden">2 414.10</span><span data-currencysign="rub" class="js_sign hidden">р.</span>
                                                    </div>
                                                    <!--<span data-currencyvalue="usd">37.59</span><span data-currencysign="usd">$</span>-->
                                                </td>
                                                 <td>
                                                        <div class="diller">
                                                            <a href="authorization/registration.html" data-distributorid="33">Зарегистрироваться</a>
                                                         </div>
                                                        <i class="icon-refresh"></i> 11.10.2019 
                                                    </td>
                                            </tr><tr id="5968892" class="">
                                                <td>MOXA и ICP DAS</td>
                                                <td>42896</td>
                                                <td class="text-align-left-td product-title" title="Компьютер V2403-C3-W-T (CTO Models) x86 ready-to-run embedded computer with Intel Core i3 3217UE, 1">Компьютер V2403-C3-W-T (CTO Models) x86 ready-to-run embedded computer with Intel Core i3 3217UE, 1</td>
                                                <td>#NULL!</td>
                                                <!--<td></td>-->
                                                <td>
                                                    <div class="price-td">
                                                        <span data-currencyvalue="usd" class="js_price ">43.45</span><span data-currencysign="usd" class="js_sign ">$</span>
                                                        <span data-currencyvalue="eur" class="js_price hidden">39.45</span><span data-currencysign="eur" class="js_sign hidden">€</span>
                                                        <span data-currencyvalue="rub" class="js_price hidden">2 790.10</span><span data-currencysign="rub" class="js_sign hidden">р.</span>
                                                    </div>
                                                    <!--<span data-currencyvalue="usd">43.45</span><span data-currencysign="usd">$</span>-->
                                                </td>
                                                <td>
                                                        <div class="diller">
                                                            <a href="authorization/registration.html" data-distributorid="33">Зарегистрироваться</a>
                                                          </div>
                                                        <i class="icon-refresh"></i> 11.10.2019 
                                                    </td>
                                            </tr><tr id="6705631" class="">
                                                <td>INTEL</td>
                                                <td>BX80684I39100F S RF6N</td>
                                                <td class="text-align-left-td product-title" title="Процессор Intel Original Core i3 9100F Soc-1151v2 (BX80684I39100F S RF6N) (3.6GHz) (плохая упаковка)">Процессор Intel Original Core i3 9100F Soc-1151v2 (BX80684I39100F S RF6N) (3.6GHz) (плохая упаковка)</td>
                                                <td>0</td>
                                                <!--<td></td>-->
                                                <td>
                                                    <div class="price-td">
                                                        <span data-currencyvalue="usd" class="js_price ">100.81</span><span data-currencysign="usd" class="js_sign ">$</span>
                                                        <span data-currencyvalue="eur" class="js_price hidden">91.53</span><span data-currencysign="eur" class="js_sign hidden">€</span>
                                                        <span data-currencyvalue="rub" class="js_price hidden">6 473.75</span><span data-currencysign="rub" class="js_sign hidden">р.</span>
                                                    </div>
                                                    <!--<span data-currencyvalue="usd">100.81</span><span data-currencysign="usd">$</span>-->
                                                </td>
                                                <td>
  • Вопрос задан
  • 123 просмотра
Подписаться 1 Простой 8 комментариев
Пригласить эксперта
Ответы на вопрос 2
Compolomus
@Compolomus Куратор тега PHP
Комполом-быдлокодер
TheDarhi, регулярка конечно странная будет, но вполне должно работать
$pattern = '#<tr id=(\d+).*<span data-currencyvalue="(\w+)" class="js_price .*">(.*)</span>#isU';

Далее прогнать через preg_match_all
Ответ написан
Комментировать
@NinjaNickName
Web разработчик
Как вариант, нужно парсить данные и заносить в свою базу, чтобы на своем сайте показывать их, если конечно у сайта, с которого вы хотите получать данные, нет API, но и в этом случаи данные лучше добавлять в свою базу и потом уже отображать, по ряду причин, например может быть ограничение на кол-во обращений к API.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы