Наполовину разработчик, наполовину аналитик разведки, студенческая жизнь на дневном отделении далека от гламура.

Я не спал уже около 36 часов подряд. Работа требовала поздней ночи, помимо учебы и, прежде всего, работы по развитию. Поскольку HtGFW удваивается как академический исследовательский проект, разработка заняла у меня много времени. Прошлой ночью я наткнулся на 10-часовую стену, где я стабильно продвигался вперед, но столкнулся со странной, неопределенной ошибкой.

Я довольно надежно паршу сайт Zhihu, за исключением одного типа сообщений, которые, кажется, на каждом шагу портят мою обработку данных. Я рефакторил код бесчисленное количество раз, пытался сделать его более модульным… безрезультатно. Шаблоны данных, окружающие посты на Zhihu… далеко не интуитивны. Это потребовало довольно больших психологических потерь, так как наступили разочарование и истощение. К счастью, в эти выходные я беру творческий отпуск на работе и в школе, поэтому, надеюсь, подход «отойти от клавиатуры» поможет.

На более легкой ноте был достигнут прогресс. Я определил лучший способ организации файловой структуры, включая соглашения об именах для разных типов сообщений. В основном они делятся на три вида:

  • Статьи — размещаются на субдомене «zhuanlan.zhihu.com», статьи — это более мощные типы сообщений. Что касается подтемы хакерства, они включают в себя подробные обзоры технических материалов, а подтема политики включает глубокие, содержательные разговоры о политике и экономике. Оба этих типа статей созрели для цензуры, поскольку они дают больше возможностей отклониться от политкорректной речи.
  • Вопросы — говорят сами за себя, большинство этих сообщений представляют собой простые открытые вопросы. Идея подхода к этим сообщениям состоит в том, чтобы классифицировать, какие вопросы, как правило, приводят к неполиткорректным разговорам в ответах.
  • Ответы — также говорят сами за себя. Я планирую подойти к вопросам и ответам, сначала соскребая ответы, поскольку они отображаются как сущность на первой странице подтем, а затем отслеживая ответы на связанные с ними вопросы.

Что касается файловой структуры, то она будет разделена по номеру подтемы, который находится в URL-адресе подтемы и будет загружен в систему с помощью обновленного вручную текстового файла. Сначала я буду выбирать их вручную в соответствии с темами, которые, скорее всего, будут подвергнуты жесткой цензуре (политика, хакерство, экономика, новости и т. д.). Папки будут полны вопросов, ответов и статей, найденных в связанных подтемах, с подпапкой, посвященной сообщениям, помеченным как подвергнутые цензуре. Сообщения будут храниться в виде плоского текстового файла с полным текстом сообщения и ссылкой для перехода к отдельному сообщению, чтобы модуль проверки мог проверить ссылку, чтобы увидеть, была ли она удалена, а затем проверить тело сообщения, чтобы увидеть, было ли оно изменено.

На данный момент эта файловая структура не поддерживает сбор комментариев. Я думаю, что это будет возможной частью процесса, но на данный момент я хочу провести первоначальный анализ данных, чтобы начать собирать показатели цензуры. Я следую мантре Keep It Simple, Stupid (KISS) в отношении хранения данных и файловой структуры и, при необходимости, позже адаптирую ее для масштабирования.

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

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

Подпишитесь на меня в Twitter и GitHub, а также Medium, чтобы быть в курсе дальнейших новостей об этом проекте.