Задать вопрос
sivabur
@sivabur
Заблокировали просто так!

Алгоритм по которому можно узнать цену на товар на любой страничке(html)?

Парсить микроразметку
если ее нету то:
1. парсить число что стоит возле руб грн $(брать первое совпадения в коде)
2. парсить ближайшей число что находится с текстом рядом с "цена"(брать первое совпадения в коде)
3. парсить значения класса "price" "cena" (брать первое совпадения в коде)

какие еще есть варианты и что оптимальней?
  • Вопрос задан
  • 735 просмотров
Подписаться 5 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@tzps
Если речь буквально о _любой_ странице, то боюсь эта задача не имеет простого решения, дающего приемлемый уровень ошибок.

Этот класс задач называется Named Entity Recognition, и денежное значение является одним из общепринятых классов сущностей.

Если же речь идёт о каком-то более узком поле для поиска, например определенный шаблон распространённого интернет-магазина, тогда можно обойтись и парсингом с регекспами. Но обычно таки это NER, со всеми его "прелестями".
Ответ написан
1) Вместо "руб." часто бывает просто "р.", что несколько усложнит задачу. Буква "р." может стоять рядом со старой ценой или рядом с суммой при покупке по кредиту. При этом эта цифра может стоять раньше настоящей цены.
2) Слово цена может идти и перед цифрами.
3) Не всегда это бывает класс, может быть атрибут itemprop например или слово price может входить в более сложное имя класса, например item-price. Кроме этого слово price может встретится в названии самого интернет-магазина.
Ответ написан
Ваш ответ на вопрос

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

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