Как спарсить только цены с другого сайта на свой сайт WordPress?

Ссылка скопирована
1 ответ

Добрый день!
Как включить автоматический парсинг цен товаров с другого сайта или сайта поставщика на нужные соответственно товары (чтобы это все обновлялось при настройке через каждый определенный промежуток времени), есть ли плагин через который это все можно было бы реализовать может с Woocomerce?

Проблема в том, что именно парсинг ТОВАРОВ полностью - не подойдет, как я понимаю, потому что он будет стягивать и изображения и характеристики, написанные и выполненные, как на стороннем сайте, но мне только лишь требуется стягивать цены от того же поставщика, но без других изменений (даже если можно было бы еще формулу свою определенную делать - ту же наценку, было бы вообще отлично)

*с WP знаком давно, но ни разу не сталкивался с парсингом, пожалуйста, буду очень благодарен если объясните

Дополнительно:

От поставщика нужно получать цены (и пр) вместо с товарами, а не парсить сайты. В xml/csv, по api и тд.

Какой смысл парсить цены(!) с другого сайта - вообще не понятно.. разве только для фишинга.

гуглите париснг WP/ плагин для парсинга WP.
куча вариантов.

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

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

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
WordPress-редакция Ответ

Парсить только цены с чужого сайта можно, но сначала нужно проверить юридическую и техническую сторону: разрешает ли поставщик получать данные, есть ли API/XML/YML/CSV-фид, как часто можно обновлять цены и не будет ли блокировки. Самый правильный вариант — официальный фид поставщика, а не scraping HTML.

Для WooCommerce лучше искать один из вариантов:

  • CSV/XML/YML импорт через WP All Import;
  • официальный API поставщика;
  • WooCommerce REST API, если донор Ваш или есть доступ;
  • скрипт синхронизации по SKU;
  • парсер HTML только если других вариантов нет.

Ключевой момент — сопоставление товаров. Обычно цены обновляют не “по названию”, а по SKU/артикулу. Если у Вашего товара и товара поставщика нет общего уникального идентификатора, синхронизация будет ошибаться.

Если есть XML/CSV, WP All Import + WooCommerce Add-On часто закрывает задачу: настраиваете источник, выбираете поле цены, сопоставляете по SKU и ставите cron.

Если нужен самописный скрипт, логика примерно такая:

$product_id = wc_get_product_id_by_sku($sku);
 
if ($product_id) {
    update_post_meta($product_id, '_regular_price', $price);
    update_post_meta($product_id, '_price', $price);
}

$product_id = wc_get_product_id_by_sku($sku); if ($product_id) { update_post_meta($product_id, '_regular_price', $price); update_post_meta($product_id, '_price', $price); }

После обновления цены нужно учитывать sale price, вариации, кэш WooCommerce и налоги. Для вариативных товаров обновляются цены вариаций, а потом синхронизируется родительский товар.

HTML-парсинг хрупкий: поставщик поменял верстку — цены перестали обновляться или начали записываться неверно. Поэтому обязательно делайте лог ошибок и не обновляйте цену, если парсер не уверен в результате.

Итог: ищите фид/API, сопоставляйте товары по SKU, обновляйте только нужные meta-поля WooCommerce и логируйте каждую синхронизацию. Парсинг HTML оставляйте как запасной вариант.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

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

Вам также может быть интересно