- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, имеются две html страницы, визуально похожие, но на второй html странице:
1) Текст слегка отличается (убрано или заменено слово), но на 98% текст одинаковый
2) Шаблон визуально на 100% одинаковый, но код шаблона одинаковый только на 96%
Нужно посредством php определить что эти две страницы как минимум на 90% одинаковы. Но нужно не только определить, но и максимально ускорить процесс определения.
Задача такая:
Хеш первой страницы будет хранится в mysql (таких хешей 2-3к).
Хеш второй страницы будет создаваться единоразово и проверятся по хешам в mysql, таких операций 30-40к в час.
-----------------------------
Подскажите какие есть методы создания хешей страницы, чем меньше хеш размера тем лучше.
За ранее спасибо.
neoks, Вряд ли хеши вам здесь помогут - с ними можно проверять на полное тождество/нетождество.
таких операций 30-40к в час
Это десять сравнений в секунду. ПХП вам вряд ли поможет. В питоне к примеру есть модуль difflib, позволяющий выявлять разницу между двумя текстами, но по опыту могу сказать, что работает не очень быстро, хотя там есть несколько методов с разной точностью и скоростью. Или можно что-то с обратным индексом замутить (аля поисковая система), но опять таки у вас поиск не по короткой фразе будет, а по большому тексту, что скажется на производительности.
borisd, Я сделал псевдохеш сверяя текс и шаблон, но размер этого хеша достаточно велик и поиск по такой базе происходит очень долго. Питон к сожалению не вариант.
Питон к сожалению не вариант
Ознакомьтесь с питоновским модулем, а потом попробуйте его аналог на ПХП:
https://github.com/chrisboulton/php-diff
---------- Добавлено 22.05.2016 в 14:44 ----------
Еще можно страницы представлять как мешки слов (без учета последовательности слов и повторов), т.е. в виде множеств слов. Потом для двух сравниваемых страниц определять отношение длины пересечения множеств слов двух страниц к длине множества слов одной страницы. Если отношение меньше определенного порога, то страницу забраковывать. Это будет грубая, но быстрая провекрка. А если же страницы проходят эту грубую проверку, то далее они отправляются на точную, но медленную проверку.
а структура у этих страничек одинаковая?
а вот эти тексты на сколько % расходятся?
С хешами не получится, ИМХО
Попробуйте strip_tags и levenshtein ( или similar_text, но она медленнее ), если нужно сравнивать контент, а не шаблон.
метод шинглов для начала.
задавался таким же вопросом. готовых адекватных решений пока не увидел. копал не глубоко
---------- Добавлено 23.05.2016 в 13:47 ----------
С хешами не получится, ИМХО
Попробуйте strip_tags и levenshtein ( или similar_text, но она медленнее ), если нужно сравнивать контент, а не шаблон.
как-то не айс совет-то
Dinozavr, Я отдельно текст и шаблон проверяю, оставляю только текст без тегов и т.д, но сам текст может быть разный на 90%
colorito, Попробовал similar_text, очень медленная функция, остальное посмотрю.
borisd, Ваш метод проверяет 10к шаблонов в секунду, на данный момент самый быстрый способ, останавливаюсь наверно на нем, для текущих задач хватит.
TF-Studio, метод шинглов к сожалению смог разогнать только до 4к шаблонов в секунду.
---
Всем спасибо за помощь :)