Расшифровка window.__DATA__ страницы Douban Reading Search

рептилия

В прошлый раз прислал последнюю версию симуляции для симуляции посадки.Многие ее видели.Только никто меня не хвалит,а у меня до сих пор беда.Если вы видите статью для вас,то можете взорвать свою , поддерживаю Следующий рабочий.

Кроме того, был предоставлен код для имитации входа в систему Zhihu, а адрес github:https://github.com/SergioJune/Spider-Crack-JS

Я надеюсь, что вы, ребята, можете дать мне немногоstarХа, я буду продолжать обновлять его в будущем и помещать в него исходный код каждого из моих взломанных веб-сайтов. поделиться им с вами позже.

На этот раз я поделюсь с вами поисковой страницей Douban.

https://book.douban.com/subject_search?search_text=%E7%BD%91%E7%BB%9C%E6%98%AF%E6%80%8E%E6%A0%B7%E8%BF%9E%E6%8E%A5%E7%9A%84&cat=1001

Раньше я думал, что Douban только для начинающих краулеров для практики.Пока не нашел эту страницу, понял, что ошибался.Оказывается, Douban тоже зашифрован.Может быть,чтобы новичкам не лазили.Тем хуже , любая страница имеет шифрование js.

И я думаю она сложнее последней Жиху, но может только страница поиска зашифрована, а остальные, которые напрямую все книги находят, прямо в исходники html помещаются.

Не говорите ерунду, посмотрите на жизнь и смерть, просто сделайте это, если не согласны! ! ! Начните анализ.

1. Ищите поисковый контент

Данные этой книги напрямую зашифрованы и скрыты на html-странице. Если вам нужно их найти, считается, что вам придется искать их в течение длительного времени. Я сказал мне от босса, что это в окне.__DATA__ of следующая страница

Однако, если вам нужно найти его самостоятельно, вы все равно можете найти его.Это занимает некоторое время, и вам нужно найти его внимательно.Если у вас есть опыт в этом, вы можете попробовать найти его в html этой страницы, если вы встретите тем, кто не сможет найти данные в будущем.


2. Найдите место расшифровки

Просто найдите окно.__DATA__

Выше приведен html-контент, так что это следующий, или, если вы не верите, вы можете попробовать это сами.

Точка перерыва, см., Конечно, данные

Затем нужно медленно отлаживать самостоятельно, нажмите «Далее», чтобы медленно отлаживать самостоятельно, и посмотрите используемые методы.

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

Следующим шагом является самостоятельное чтение содержимого этих JS. Это не сложно. Если вы сильны и можете видеть используемый им метод шифрования, вы можете напрямую использовать соответствующий метод шифрования языка Python. Если вы этого не сделаете, Чтобы понять это, вам нужно сделать это самостоятельно. Вычтите соответствующий JS,

Если вы новичок в JS и изучили свойства JS-прототипов, то настоятельно рекомендуется их решить, т.к. JS здесь распределен в двух файлах, это не так просто, как решить функцию напрямую, как в прошлый раз Zhihu ,и вычитание Когда выйдет,все равно нужно менять прототипы между функциями или объектами.Короче это очень сложно.Это можно только понять и не описать словами.Пространство ограничено,и невозможно вычесть их все по одному и сказать вам, как их изменить.

Мне все еще нужно попрактиковаться, чтобы почувствовать это, я, наконец, потратил несколько дней и вычитал 1500+ строк кода.


3. Беги с Python

Здесь пряжка из использования Python Execjs JS выполнения, будет проблема

​UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 41: illegal multibyte sequence


Это связано с тем, что в нем используется объект TextIOWrapper, и в нем не указан тип кодировки. Для ошибок при чтении символов используется дефолтный cp936, который является кодировкой gbk. Мы можем инициализировать этот класс и изменить тип кодировки на utf-8 для запуска

Запустите его снова, и он будет успешным.


4. Пишите в конце

Можно сказать, что это расшифрование Дубана несложное, или можно сказать, что оно немного сложное, потому что для этого нужно вычесть много JS.Если вы можете понять его соответствующий метод дешифрования, вам не нужно его вычитать, это будет очень легко. Если вы углубленно изучаете ретроградный JS, рекомендуется сделать это самостоятельно.

Наконец, я хочу, чтобы адрес исходного кода был https://github.com/SergioJune/Spider-Crack-JS/tree/master/douban, пожалуйста, поставьте звездочку, если это полезно для вас, спасибо.

Если статья была вам полезна, ставьте лайк!


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