Генератор комментариев из Аляски

В этой статье вы увидите процесс создания бредогенератора, основанного на комментариях из раздела TJ, куда полезные и интересные статьи не попадают никогда - из Аляски. И, конечно, на цепях Маркова.

В закладки

запили Крымской мадерой. На столе приятные закуски, во главе пирог с листьями свеклы. Мы поковыряли его вилками и Я шепчу тебе байки в голове, взгляни на этот макет как-бы со стороны, не будет. Просто смоделируй эту ситуацию коммент отличный. Сук кек. Это Moscow City Racing, кажется, самый первый, 2009 года (покатушки разных гоночных машин вокруг кремля), лужайка шее. Вопроса называл. Но где же твоя лексическая редупликация? Так изысканно Илюхера пидором еще никто дублировать друг друга. Представь: ты чтобы вам было,

Бредогенератор

Программу я написал на Python 3.6, если что, прошу не кидаться камнями за говнокод, я джуниор.

Начать разработку я решил когда узнал об отсутствии подобной программы. ̶ ̶М̶н̶е̶ ̶б̶ы̶л̶о̶ ̶и̶н̶т̶е̶р̶е̶с̶н̶о̶,̶ ̶н̶а̶с̶к̶о̶л̶ь̶к̶о̶ ̶п̶о̶т̶у̶г̶и̶ ̶с̶р̶е̶д̶н̶е̶с̶т̶а̶т̶и̶с̶т̶и̶ч̶е̶с̶к̶о̶г̶о̶ ̶к̶о̶м̶м̶е̶н̶т̶а̶т̶о̶р̶а̶ ̶А̶л̶я̶с̶к̶и̶ ̶о̶т̶л̶и̶ч̶а̶ю̶т̶с̶я̶ ̶о̶т̶ ̶т̶о̶г̶о̶,̶ ̶ч̶т̶о̶ ̶м̶о̶ж̶е̶т̶ ̶с̶о̶з̶д̶а̶т̶ь̶ ̶к̶о̶м̶п̶ь̶ю̶т̶е̶р̶ Прежде всего моей целью было создать парсер комментариев с TJ (небольшой спойлер - я его так и не создал). Так же я, конечно, хотел насладиться результатом.

Начало

Создавать генератор я решил на цепях Маркова. Объяснять что это и как это едят я не буду, если что - google it. Моей первой проблемой было написать генератор этих самых цепей, по этому я просто взял скрипт у того, кто его уже написал.

Код цепей Маркова, ссылка

Дальше с использованием функций этого скрипта я написал свой небольшой скрипт и составил тестовую библиотеку слов.

Видите шутку? А она есть

Краткое описание того, что он делает: импортирует необходимые библиотеки и библиотеку слов; при помощи скрипта, о котором я уже сказал, создает цепь; выводит ее в консоль.

Моей первой проблемой была ошибка, при которой цепь не создавалась (вероятно, из-за небольшого количества слов в библиотеке). Я не хотел сильно морочить себе голову, по этому решил все при помощи силы волшебного костыля.

Тут я добавил костыль с while

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

Эксепт больше не пустой.

Провал парсера

Теперь я приступил к сложной части программы - к парсеру комментариев на TJ. Делать я его решил при помощи API. Но тут меня ждал неожиданный сюрприз - при любом обращении к API оно выдавало одну и ту же ошибку.

{"error": {"code": 426,"message": "426", "info":[]}, "code": 426, "message": "Please upgrade your app. Developer? Email us: support@cmtt.ru"}

Ехидное API

Я попытался обратиться по указанному адресу, но мне уже день пятый (upd: если точно, то седьмой) так никто и не ответил. Обидно.

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

Результаты

Просто вставлю несколько результатов работы программы.

лужайка на этот коммент отличный. Сук кек. Это Moscow City

Арчи. На созвоне Так ждала ее, хотя этот коммент отличный. Сук кек.

Илюхера пидором еще никто не будет. Просто смоделируй эту ситуацию в приятное место

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

Увидимся.

#технологии потому что хочу поставить хэштеги, но не знаю, какие

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы рассказать свою историю.

Написать
{ "author_name": "фиолетовый бобер", "author_type": "self", "tags": ["\u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438"], "comments": 67, "likes": 25, "favorites": 9, "is_advertisement": false, "subsite_label": "tech", "id": 68724, "is_wide": false, "is_ugc": true, "date": "Thu, 05 Apr 2018 16:21:22 +0300" }
Комментарии

Верховный Денис

2

Сук кек.

Регулярный коктейль

8

Я попытался обратиться по указанному адресу, но мне уже день пятый так никто и не ответил

haha, classic

Мировой браслет

10

Во-первых, ты юзал старый API.
Есть новый.
Но и он не даст тебе доступ к комментам. Они доступны только для юзеров с подпиской.
Авторизация через api пока не допилена и авторизоваться через стороннее приложение не выйдет.

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

Технологии
дискуссии в сообществе доступны только владельцам клубного аккаунта
С клубным аккаунтом вы сможете
создавать записи и вести дискуссии в закрытых сообществах
наслаждаться нашим сайтом без рекламы
помочь проекту и почувствовать себя лучше
Купить за 75₽

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfk" } } }, { "id": 6, "disable": true, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byswn", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "cndo", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223677-0", "render_to": "inpage_VI-223677-0-130073047", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=cndo&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudv", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "ccydt", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvc" } } } ]
Узнавайте важные новости первыми
Подписаться на push-уведомления