Я хожу! Рептилии плакали, когда сталкивались с перевернутыми шрифтами

задняя часть Python

Это 5-й день моего участия в Gengwen Challenge.Подробности о событии смотрите:Обновить вызов

Сегодня, когда я собирался сканировать информацию одного магазина отзывов, я столкнулся с "шрифт』Обратный подъем. Например это:

Есть что-то вроде этого:

Вы можете видеть, что эти шрифты былишифрование(Анти-подъем)

Даже в такой ситуации брат Чен покажет вам, как решить этот вид антилазания (Класс защиты от сканирования шрифтов)

01 Веб-анализ

Прежде чем приступить к разбору антикраулинга, давайте кратко представим предысторию (сканируемые веб-страницы)

Информация о магазине XX прокомментирована братом Ченом. Сначала посмотрите на исходный код веб-страницы, как это

Этот вид ничего не видит, давайте перейдем к другому способу: напрямую сохранить весь исходный код веб-страницы через программу

Полученный исходный код веб-страницы выглядит следующим образом:

Например, здесь мы видим, что количество комментариев (4 цифры) имеет соответствующий номер (тот же номер тот же номер),должно бытьБиблиотека шрифтов, соответствующая веб-сайту.

Далее нам нужно найти библиотеку шрифтов для этого сайта.

02 Получить библиотеку шрифтов

Здесь библиотека шрифтов рекомендуется добраться внутри целевого сайта, потому что другой сайт библиотеки шрифта не тот, что приведет к снижению декодирования, шрифт будет другим.

1, захватите пакет, чтобы получить библиотеку шрифтов

В сети браузера есть три библиотеки шрифтов. (Три библиотеки шрифтов имеют разные материалы, и будет объяснено позже.)

Скопируйте ссылку на библиотеку шрифтов и откройте ее в браузере, чтобы загрузить библиотеку шрифтов локально.

2. Просмотр библиотеки шрифтов

Здесь FortCreator используют инструменты для просмотра библиотеки шрифтов.

ссылка для скачивания:

https://www.high-logic.com/font-editor/fontcreator/download

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

После установки откройте только что загруженную библиотеку шрифтов в FontCreator.

шрифт можно увидетьсодержаниеи соответствующийНумерация.

НапримерНомер 7 соответствует F399, **Число 8 соответствует F572, **Давайте сравним исходную веб-страницу и исходный код, так ли это? ? ?

Видно, что он точно такой же и шрифт можно восстановить декодированием.

3. Почему существует три библиотеки шрифтов?

При просмотре зашифрованных стилей шрифтов CSS методы являются контент CSS, как это

библиотека шрифтов 1: d35c3812.woff соответствующий класс декодирования — shopNum

библиотека шрифтов 2: 084c9fff.woff соответствующий класс декодирования — reviewTag и address

Библиотека шрифтов 3: 73f5e6f3.woff Соответствующий класс декодирования — tagName

Другими словами, разные теги классов, к которым принадлежат шрифты, имеют разные расшифрованные библиотеки шрифтов.Брат Чен должен здесь что-то сказать:такая курица

Здесь мы получаем количество комментариев, класс — shopNum, и нужно использовать библиотеку шрифтов.d35c3812.woff

03 Код для расшифровки

1. Загрузите библиотеку шрифтов

Теперь, когда мы знаем принцип антисканирования шрифтов, мы можем приступить к программированию для расшифровки и восстановления.

Пакет библиотеки Python для загрузки библиотеки шрифта: FontTTools, а команда установки выглядит следующим образом:

pip install fontTools

Сохранение соответствия содержимого библиотеки шрифтов в формате xml

код и название - взаимно однозначное соответствие

Вы можете видеть, что последние четыре цифры номера в исходном коде веб-страницы соответствуют номеру библиотеки шрифтов.

Таким образом, мы можем создать соответствующий набор шрифтов

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

Таким образом, мы успешно завершили процесс антизаботания шрифта. В основном нет проблем с извлечением контента позже.

2. Полный код

Выходной результат:

Вы можете видеть, что все зашифрованные номера восстановлены.

04 Резюме

В этой статье брат Чен в основном объяснил, как бороться с проблемой анти-лазания шрифта, и взял некий комментарий в качестве примера для демонстрации анализа. Тип числа, с которым брат Чен имеет дело в тексте, вы можете попробовать решить на китайском языке.

Чтобы облегчить обучение, брат Чен загрузил полный исходный код этой статьи, и если вам нужно ответить в открытом доступе:Антисканирование шрифта

Где вы не понимаете, может быть воставить сообщение ниже, общаться вместе.