Каким образом можно выполнить парсинг только цен с внешнего сайта и отобразить их на своем WordPress-сайте?

Как настроить автоматический сбор цен товаров с другого сайта или сайта поставщика, чтобы данные обновлялись через определенные промежутки времени с использованием плагина, возможно, в Woocommerce? Я понимаю, что обычный парсинг товаров с другого сайта подходит не полностью, так как он загружает изображения и характеристики, которые я хочу избежать. Мне нужно только получать цены от поставщика без каких-либо других изменений, и, возможно, применять свою формулу, такую как наценка. Я знаком с WP, но не имел опыта работы с парсингом, и буду благодарен за пошаговое объяснение.
  • 14 января 2024 г. 1:07
Ответы на вопрос 2
Для выполнения такой задачи вы можете использовать плагин WordPress, который обладает функциональностью веб-скрапинга или парсинга. Одним из возможных вариантов является использование плагина WP All Import в сочетании с его аддоном для WooCommerce, но этот метод может потребовать загрузки полного описания товара включая изображения и характеристики, что вы хотите избежать.

Если вам действительно нужен детальный контроль и возможность загружать только цены, то может потребоваться разработка собственного парсера или использование более специализированных инструментов.

Для реализации автоматического парсинга цен с другого сайта без загрузки изображений и характеристик, вы можете следовать примерно такому плану:

1. Ознакомьтесь с законодательством о парсинге данных, так как в некоторых случаях парсинг может нарушать правила использования сайта или закон.

2. Установите подходящий плагин для парсинга, такой как WP Web Scraper или любой другой плагин, который позволяет выбрать элементы страницы для импорта.

3. Изучите структуру страницы источника (HTML-код), чтобы определить, как именно вы можете выделить цены. Для этого можно использовать инструменты разработчика в браузерах (обычно вызываются нажатием F12).

4. Настройте плагин таким образом, чтобы он выбирал только элементы с ценами. Это обычно делается с помощью CSS селекторов или XPath запросов.

5. Настройте и спланируйте автоматический сбор данных с помощью крон-задачи (Cron Job) или встроенной функции таймера плагина, если она доступна.

6. Если вам нужно применять наценку на собранные цены, вам понадобится добавить функцию для обработки этого. Можно написать кастомный код в functions.php вашей темы WordPress или создать свой плагин, который будет обрабатывать полученные данные.

7. Проверьте работоспособность всего процесса и убедитесь, что обновления цен проходят корректно.

Пример кода для добавления в functions.php, чтобы добавить наценку к цене (псевдокод):

```php
add_filter('woocommerce_product_get_price', 'add_my_markup', 10, 2);
add_filter('woocommerce_product_variation_get_price', 'add_my_markup', 10, 2);

function add_my_markup($price, $product) {
    // Например, добавляем 10% наценку к цене
    $markup_percent = 10;
    $markup = ($price / 100) * $markup_percent;
    $new_price = $price + $markup;

    return $new_price;
}
```

Пожалуйста, учтите, что если сайт поставщика использует технологии AJAX или динамическую загрузку контента, парсинг его страниц может оказаться значительно более сложной задачей, поскольку необходимо эмулировать действия пользователя на сайте или использовать инструменты для парсинга JavaScript-нагруженных сайтов.

Кроме того, всегда уважайте права собственности и конфиденциальности данных при использовании парсинга контента. В некоторых случаях может потреб
гуглите париснг WP/ плагин для парсинга WP. 
куча вариантов.

Я давным-давно работал с wpGrabber, вроде и сейчас живой.
Можно не через WP, ContentDownloader к примеру...

В вашем случае, у вас и на сайте доноре у товаров, должно быть что-то общее, артикул к примеру.
Настраиваете плагин, парсите сайт донора - по артикулу обновляете цену.
Похожие вопросы