Ставки на спорт » Автогонки » Массовая проверка ИКС: скрипт на PHP

Массовая проверка ИКС: скрипт на PHP

31 августа 2018 Яндекс официально отказался от традиционного тИЦ из-за его морального устаревания. При этом, пользователи были успокоены: на замену «плохому» показателю пришёл «хороший» — ИКС (индекс качества сайта).

Оставим в стороне моральную и этическую сторону вопроса замена одной пузомерки другой. Не будем рассуждать и строить теории относительно формулы расчёта — благо, это делают СЕО-гуру, до которых мне расти и расти. Мы остановимся на более приземлённом, а именно: получении значения параметра ИКС.

Параметр Яндекс ИКС

Мне знакомы два способа получения параметра: через панель Яндекс.Вебмастер и через изображение. В последнем случае Яндекс поступил весьма продумано: код, показывающий ранее «денежку тИЦ», теперь показывает параметр ИКС. Пользователям на своих сайтах ничего менять не нужно.

Теперь представим, что Вы захотели проверить ИКС группы сайтов. Причём, не только своих (для этого достаточно добавить сайты в панель Webmaster), но и конкурентов. Можно воспользоваться одним из сервисом массовой проверки, но они (насколько мне известно) имеют некоторые ограничения на число одновременно проверяемых сайтов. Для решения данной проблемы я сделал небольшой скрипт. Его можно залить на свой хостинг и самостоятельно устраивать массовые проверки. Либо сделать ещё один сервис «массовой проверки ИКС», бесплатно и без регистрации.

Как это работает

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

Вариант с изображением картинок лишён данного недостатка. Пару лет назад у меня приводилось немного аналитики по тИЦу для русских доменов. Для написания статьи на сервера Яндекс было отправлено более 6 миллионов (!) запросов, при этом ни разу не получил бан по IP.

Итак, с скрипту. Он совершает запрос на получение «экс-денежки» и переводит графическое представление ИКС в текстовое. Эдакий FineReader в миниатюре. Ну да, всего-то.

Немного о реализации

Ранее я делал рабочий скрипт «расшифровки» тИЦ с картинки-денежки. Там использовался не очень хороший метод, который подразумевал предварительное «обучение» этого скрипта.

Сначала нужно было получить изображение, вырезать из него кусок, который может содержать значение. После этого к картинке применялось несколько фильтров, а затем пиксели переводились в такой вид:

тИЦ в текстовом виде

Далее, для каждого знака в расчёт брались только «важные пиксели» (составляющие символ), на основании чего формировались маски. Для указанного примера была такая штука:

Т. е. в первом ряду буквы C было 7 важных пикселей (единицы), во втором — 12, потом 15, 3 и т. д.

Главный недостаток этого подхода — при разных значениях тИЦ какие-то пиксели могли выпадать или появляться (классическое сглаживание + перевод картинки в формат .gif). Поэтому в процессе обучения для цифры 0 (ноль) появилось три маски:

Самой сложной оказалась цифра 8, она со временем разрослась до 8 масок.

Подход, который использую сейчас, более продвинутый. Сначала так же нужно получить картинку с параметром и вырезать оттуда определённую область. После чего изображение переводится в текст: фон помечается точкой, пиксели другого цвета — буквой x.

В данной версии скрипта цвет фона жёстко завязан на текущий — 0x878787. В дальнейшем, если Яндекс решит-таки его менять, можно будет добавить первичный проход по изображению с целью получить главенствующий цвет, который и является фоном.

После следует выбрасывание пустых (не значимых) рядов, состоящих целиком из фона. А далее формируется «вытянутая» последовательность для очередного символа. Каждый символ имеет размер 8

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.