Сравнить 2 страницы товаров

Тема в разделе "PHP", создана пользователем Den1a, 7 окт 2016.

  1. Den1a

    Den1a

    Регистрация:
    16 авг 2013
    Сообщения:
    27
    Симпатии:
    1
    Здравствуйте.

    Цель: хочу спарсить чужой и свой сайт.
    Получить цены на товары и вывести в виде таблицы.

    Проблема: товары одинаковые, но названия товаров немного разносные (кто как уже подписал)

    Вопрос: как соотнести по названию или url или фото товаров в таблицу соответствия. Что бы спарсили пару сайтов прогнали по таблице и вывели на экран в табличку с ценами.

    Пример:
    Ударная дрель Bosch GSB 19-2 RE Professional
    Дрель ударная Bosch GSB 19-2 RE Professional
    Дрель ударная электрическая Bosch, GSB 19-2 RE Professional БЗП

    Понятно, что товар один и тот же, но называются по разному.

    Заранее благодарен!
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.044
    Симпатии:
    776
    Самое простое, что приходит в голову: удаляем из названия не латинские символы, знаки пунктуации и пробелы, приводим оставшуюся строку к нижнему регистру и сравниваем.
    Но это при условии, что кириллическая часть названия не содержит ничего уникально определяющего текущий товар. То есть, если есть, например, "пила Дружба" - уже не прокатит.
     
    $iD нравится это.
  3. tema700400

    tema700400

    Регистрация:
    13 окт 2016
    Сообщения:
    1
    Симпатии:
    1
    копать в сторону "нечеткое сравнение строк"
     
  4. Alexsandro943

    Alexsandro943

    Регистрация:
    19 авг 2015
    Сообщения:
    0
    Симпатии:
    0
    levenshtein() Функция в php есть
     
    Lasted edited by : 21 окт 2016
  5. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.044
    Симпатии:
    776
    Она тут абсолютно непригодна! Если есть, например, "Дрель ударная Bosch GSB 19-2" и "Дрель ударная Bosch GSB 18-2" - это выйдет один товар (разница в один символ), а вот "Дрель ударная Bosch GSB 19-2" и "Ударная дрель Bosch GSB 19-2" - будут разными товарами, ибо больше символов отличается.

    Плюс эта функция работает побайтно, так что с юникодом нормально работать не сможет.
     
    Lasted edited by : 21 окт 2016
  6. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    281
    Симпатии:
    85
    Ну, в данном случае это не важно
    Можно и конвертнуть в нужную кодировку
    Но вот вопрос, в том какие коэффициенты использовать

    similar_text()

    Ударная дрель Bosch GSB 19-2 RE Professional
    Дрель ударная Bosch GSB 19-2 RE Professional

    Попробуйте, расскажете
     
  7. Nog

    Nog

    Регистрация:
    Среда
    Сообщения:
    0
    Симпатии:
    0
    А артикулы парсить не вариант?