Все настоящие смыслы скрыты. Жизнь полна секретов, и ограниченных людей, и сладких пустых разговоров, в которых нет смысла. Реально то, что скрыто в нас. (Л. Дж. Шэн)
Работая с веб-страницами, помните, что знания Python вам сильно пригодятся при необходимости извлечь труднодоступное содержимое, в том числе намеренно скрытое. Так, мне удалось получить исходный код Jupyter блокнота, который передавался в словаре как параметр одной из функций.
Стандартом де-факто при парсинге веб-страниц является библиотека BeautifulSoup, о которой я неоднократно писал ранее. Однако не редко встречаются задачи, с которыми легко справиться, имея только базовые знания о Python.
В моем конкретном примере нужный код располагался в json строке с ключом notebook. Начало фрагмента имеет следующий вид:
В голову пришло два решения задачи: найти идентификаторы начала, конца ноутбука и считать между ними или начать с первой скобки '{' и считать все до ее завершающей пары. Сначала считаем содержимое файла (сохранил страницу локально):
Считываем содержимое между двумя идентификационными частями
Первым способом я нашел уникальные подстроки начала и конца, "рядом" с которыми располагались символы старта и завершения json строки:
Считывание содержимого между парой скобок
Во втором способе я написал цикл поиска парной скобки (та, после которой счетчики вхождений "{" и "}" сравняются):
Теперь можно просматривать файлы в любой Jupyter среде.