Перейти к публикации

Таблица лидеров


Популярные публикации

Отображаются наиболее популярные публикации на 07.04.2026 во всех областях

  1. 3 лайка
    https://i.imgur.com/SfUyCBO.mp4?
  2. 3 лайка
    чтобы нищим бомжом с ашана не пропахла машина. Если бы она услышала еще и музыку, который этот уебан слушает, то выкинула бы его из машины не останавливаясь
  3. 3 лайка
    Меня глухонемая по мкаду 135кмч катает, я занятой джентльмен, дамы пока в очереди, но спасибо пожилой привратник мазтер Следующий этап оформить бушменочку Зачем каждый пост акцент делать, что она ни бэ ни мэ, жизуха конечно интересная на уровне сериала люцифер ток со своим лором и сатаной Ну а как мне ее еще обозначать епт? Это как пд, только вместо имен - погоняло типа воровка, глухонемая, бывшая и тд Как с ней вообще происходит коммуникация? если она гонщица, можно флагами. типо зеленый флаг = поехали, желтый = питстоп смена позиции, клетчатый = заправил, финиш
  4. 3 лайка
    Бесформенного нытья пост Во времена, когда работал в общепите, пришла к нам тян с подругой, симпатичная 8/10, в процессе я понимал, что ей нравлюсь, но у меня тогда была женщина, поэтому нихуя не было. Далее, уже уволившись, я переехал к знакомому и в один из вечеров он пришел с этими тян к нам домой, оказалось, что они буквально в соседнем доме живут и случайно встретились в хач магазе. Прошло уже наверное года 3 или около того. Выпили, было заметно что я ей все ещё нравлюсь, щас меня уже нихуя не останавливало, поэтому офк она осталась спать со мной, однако ебли не случилось (оба перепили в хламище). После мы так же встречались у нас, выпивали, 1 раз дошло до около секса, но мы опять были нахуяченные, короче, жижа. Потом я съехал от кента, она уехала работать в другой город и мы не виделись около 1,5 лет, а не, наебываю, 1 раз она возвращалась в Питер на неделю и мы словились выпить, секс был, но он был хуеваст, причину думаю и сами догоните. После этого все, списывались толи раз, толи два от силы, и то по хуйне какой-то. И вот недавно мы опять списываемся, оказалось что она опять переехала в СПБ и живет у подруги, пока стажируется, хуе мае, договорились встретиться, повел ее в рест, повспоминали че как было, по угорали над нашими сексуальными потугами, ламповый в общем вышел вечерок + она жаловалась что ее подруга ее терроризирует буквально и жить у нее это пиздец адище. А там внатуре пиздец, баба решила что та у нее в рабстве, контролировала любое ее движение ну и всякой такой хуйней занималась, не суть. Из забавного, подруга ее - дочь какого-то бандоса из 90х у которого остались нихуевые накопления, либо он просто все легализировал, ну вы поняли. В общем, золотая молодежь, но дочь на этом фоне ебанулась, стала банчить наркотой, частые приводы, все дела, по итогу отец (который ебнулся на Иисусе) пересилил ее в хату по ближе из центра, запретил чуть ли не дышать и поставил ее брата недельный обход + ОБЯЗАЛ ее каждое воскресенье ходить в церковь (куда в последствии подруга заставила ходить и мою тян, ибо скучно познавать Бога в одиночестве), короче, цирк. В первую встречу мы прост оба уснули, даж никаких поцелуев не было, она со стажировки приехала 12ти часовой, я хуячил в карты весь день, сил короче не осталось, просто сладенько уснули. Потом я начал звать ее к себе, опять же, выпить вся хуйня, наконец-таки произошло СОИТИЕ и в кой-то веки нормально (я бтв переживал пиздец, т.к именно секса не было 4 года по-моему, мб где 1 и был просто затерялся в памяти) но получилось нормально, а это в целом мой максимальный уровень. В общем она приезжала все чаще и чаще, мы пили и ебались попутно я впитывал ее жалобы на подругу, которая к тому моменту уже и меня заебала, т.к начинала ей звонить в 6 утра, с вопросами где ты и тд. В какой-то момент я ей говорю, дропай ты ее нахуй, переезжай ко мне, нахуй те это надо. Стоит уточнить, что из-за долгого отсутствия отношений я уже совсем ахуел, уровень одиночества переходил все возможные границы, дело даже не в ебле, мне просто хотелось засыпать с кем-то в обнимку, говорить, ну в общем все стандартные для отношений вещи. Поэтому я был уверен ахуенности своей идеи, чего я собственно теряю? Бабки есть, тян классная, не только внешностью, но и говорить с ней мне было пиздато, я уж не говорю о том, в каком экстазе я был засыпая уперевшись ей в спину. На том и порешали, она перевезла свои вещи, стали жить вместе, и где-то через пару тройку дней сидя в ресторане я решил +- обрисовал ей статус отношений, мол: "Я не могу сказать тебе точно, что между нами, но мне ахуительно, я не могу сказать тебе каких то громких слов, а-ля люблю и тд". Она сказала да, я сейчас ощущаю тоже самое, мне заебись, но ничего конкретного я сказать не могу. Ну кайф, подумал я, что может быть лучше, некоторые обязательства мы конечно обговорили а-ля измен там и всей подобной хуйни + я сказал ей что никаких ночевок не дома + походов куда-то с парнями (ну я ревнивый worm). Она грит да похуй, но ты тоже мол давай без такой хуйни (а я дома блять сижу уже несколько столетий). Однако в глубине души я понимал, что так не бывает, что мы такие поживем вместе, покайфуем, и разойдемся как в море корабли, так же я долго обдумывал свои чувства к ней и пришел к выводу, что любви - нет, просто сильная симпатия, в общем, когда-то все это закончится 100%. Жили мы не тужили, бабки начали таять со скоростью света + она тоже ебанись какая пьющая, мы начали хуярить как Буковски со своими бабами, практически не просыхая, поначалу было ахуенно, смотрели мои сериалы, пили и ебались, чистый кайф. Но мало помалу все началось идти по пизде. Блять заебался ща за водкой сгоняю продолжу Как в любой среде 2х алкоголиков, начались конфликты из за очевиднейшей хуйни, ссор становилось все больше, а их масштаб рос. В какой-то момент она начала мне говорить что любит меня и тут я ахуел, т.к не мог сказать ей в ответ того-же. В общем ссоры, кайф, ссоры, кайф, продлилось все это 4 месяца +- и в какой-то момент нахуярившись водки до состояния слизи, я решил сказать ей, что я ее не люблю, сука, опять наебываю, я ей уже говорил +- что-то подобное после масштабной ссоры, она уехала к подруге ночью и вернулась ток утром (да-да, ебалась) . Сделала она это ещё в очень неудобный момент, произошёл карточный крах + семейный пиздец + МЮ проебал . Все наложилось + с картами давненько уже был пиздорез (такое бывает, но в моменте все равно ахуеваешь). Короче что-то про расходимся нахуй я уже ей к тому моменту говорил. Но тогда все как-то сошло на нет, хотя я думаю она уже понимала, к чему все идет. Разговор о том, что я ее не люблю естественно кончился слезами, на утро ей ещё нужно было ехать на дегустацию вина в ресторане, а это в данной ситуации - прямой путь в запой, я же в свою очередь пить перестал, чувствовал себя как-то гадко что-ли, в целом сил хватало только смотреть в потолок с дивана. Она же хуярила после работы, приехала и продолжала дома, я мог только наблюдать, стараясь засыпать к моменту ее приезда. И в какой-то из дней, когда я уже уснул она опять упиздячила бухать к подруге, написав мне в ТГ, так и так, буду в 5:30, сообщение я прочитал в 10 утра, а сама героиня явила свой лик только к 12 будучи настолько пьяной, что я не понимал как она вообще добралась домой. Опять же стрик в картах продолжался и учитывая все обстоятельства я буквально озверел, выхватил у нее бутылку пива, вылил нахуй, накричал и сказал лечь спать, что она собственно и сделала за неимением сил, сон продолжался до следующего дня. Утро было просто замечательным нахуй, прекрасная гнетущая атмосфера молчания, я пытаюсь работать, ей надо ехать с менеджером встретиться проговорить хуйню по сдаче. Она уезжает, меня ебут (в карты), колпак срывает и я галопом мчусь в градусы за водкой, при этом все приговаривая: "Только не наделай хуйни, только не наделай хуйни". Но этилу было похуй на мои планы, к тому же моя мадам решили вместо обговоренного времени приехать позже на час (а я с кентом словился и домой пришел под ее приезд, чтобы дверь открыть), когда пришел, звоню звоню, блять, мол где ты йопта, не ответа, не привета. В целом можете прикинуть уровень раскалённости моего ануса к моменту встречи, да и от адекватного мышления уже не осталось ни следа, разъебались, она сказала что ей менеджер предложил пожить у нее (а она ещё во время первой ссоры с ночевкой ей писала мол какой я черт ахуевший как я себе такое позволяю). Я сказал ахуительно, съебывай тогда нахуй. В процессе сборов мы уже как совершенно ебнутые бешенные собаки орали друг на друга, я впервые физически ей навредил, если так можно выразиться (толкнул и она упала на гору своих вещей) ничего такого вроде, но я ваще зарекался баб не трогать. Проснулся нахуй, а на душе - пиздец, вот внатуре блять, без бабы - бабы хочется, а с бабой - одиночества. Я головой то понимаю, что так вроде и должно быть, оно в целом к лучшему, единственное, что можно все это было сделать по человечески, но как же хуево, просто пиздец, ни спать, ни жрать не могу, только и остается закачиваться царской. Залупа, блять, какая-то.
  5. 2 лайка
    гайз, на выходных посмотрел: 21 мост - черная пантера жесткий коп, который идет против правил, гасит преступников и охотится за двумя бедолагами, укравшими кокс у других копов. Сюжет задрочен давным давно, черная пантера как актер так себе, экшена маловато, довольно проходное кинцо скоротать вечерок, посмотрел его потому что друг посоветовал, хуй знает, что он в нем нашел. 5 черных пантер из 10 Нефариус - диалоговое кино про общение демона и атеиста, снова задроченный сюжет, из хорошего - ГГ хорошо отыгрывает одержимого демоном мужика, но кринжово играет в роли демона, исторические сказки для самых маленьких инклюдед, в целом ничего особо интересного нет, можно глянуть если совсем нехуй делать и очень любите фильмы, где сюжет разворачивается в рамках одной комнаты. 5 придурковатых демонов из 10 Грешники - ну тут кек конечно произошел, я надеялся на прикольный слэшер про дикий запад и вампиров, а получил хрючево в стиле Азилум и ТВ-3 хуеты навалили знатно, тут тебе и брат черной пантеры с оскаром за лучшую роль (и вовсе не потому что он черный ), и сцены секаса для пиздюков шоб шишка дымилась, и переплетение времен и культур во время магической песни главного героя, короче говоря треш и угар, сцена в конце с порядочными вампирами это ваще турболол, это кино нужно смотреть исключительно под пиво с друганами. 4 нелепых оскара за лучшую мужскую роль из 10 Мятежная луна 2 дарующая шрамы - с первой части не был особо в восторге, но решил глянуть вторую в надежде на реабилитацию, в итоге межгалактическая империя снова сражается за зерно (НУ ДА ХУЙ С НИМ ДАЖЕ), челики в 2348 году косят зерно руками , летающая телега, на которую складывают зерно, может парить над землей, но не может двигаться вперед без помощи лошади чувиха с руками базуками (вспоминаем - она отрубила себе свои руки, чтобы прицепить супер пупер руки базуки, которые идеально владеют мечами) проебала пятерым инвалидам из империи, битва за средиземье была максимально нелепой с кучей бессмысленных действий, но графоний ничего так, видимо весь бюджет был въёбан в графику. 4 перекачанных стероидами адмирала звездного флота из 10 Абсолютная власть - вот тут было неплохо, фильм понравился, Поттер в роли затюканного агента ФБР внедряется в группировку нацистов, весь каст на своих местах, да звезд с неба не хватают, но и не порожняк типа предыдущего фильма, где все актеры как деревяшки, фильм достаточно монотонный, но сюжет интересный, как утверждалось в начале основано на реальном случае, люблю такое дерьмо. 6 Поттеров-нацистов из 10
  6. 2 лайка
    То же, что и всегда. Дракон куколд наблюдать Хорошо что баба Моль не куколд и решил Киев взять за 3 дня Хорошо что Алекс не куколд и решил взять бабки из карманов спящих алкашей
  7. 2 лайка
    Меня глухонемая по мкаду 135кмч катает, я занятой джентльмен, дамы пока в очереди, но спасибо пожилой привратник мазтер Следующий этап оформить бушменочку Зачем каждый пост акцент делать, что она ни бэ ни мэ, жизуха конечно интересная на уровне сериала люцифер ток со своим лором и сатаной Ну а как мне ее еще обозначать епт? Это как пд, только вместо имен - погоняло типа воровка, глухонемая, бывшая и тд Как с ней вообще происходит коммуникация? думаю уже есть заламинированные карточки со стандартными фразами на подобии "привет", "как дела?", "тебе заправить?"
  8. 2 лайка
    передосмотрел Друзей, какой же охуенный все таки сериал, некоторые приколы смотрелись по новому, которые я в 16-17 лет не выкупал, без сомнений топ1 ситком всех времён
  9. 1 лайк
  10. 1 лайк
    @dispersion @PIRO48 почему мы не можем с тем же успехом ебануть модерку аврилке Импакт аврилки на слоте дефолт челика в амулете Импакт модератора срулеса Короче @Cryless отдавай слот модератора аврилке и на зачилку Он еще и пушит своих кентов с кооператива и друзей по дзюдо
  11. 1 лайк
    мало того что Армен, так ещё и цыган
  12. 1 лайк
    Кароче понятно местным наркобарыгам бабки дал, тут рядишь гон
  13. 1 лайк
    Привет, лева, тебя не заебало с пидерахами общаться Привет, ты меня с кем-то перепутал, меня зовут Светлана.
  14. 1 лайк
    да пошли они нахуй эти бигтехи
  15. 1 лайк
    То же, что и всегда. Дракон куколд наблюдать
  16. 1 лайк
    земную жизнь пройдя до половины я очутился в сумрачном лесу данте могёт, кое-чего ещё помню без гугла по сабжу уже давно пережеванно тысячи раз, что девахам нельзя признаваться в чувствах никто никого никогда не любит 50на50, всегда кто-то любит, а кто-то позволяет себя любить и позволять себя любить должен мужик если всё наоборот, то полная хуета получается проверено лично в том числе
  17. 1 лайк
    Небольшая предыстория моих отношений с одной представительницей женского пола. Июнь, 2016 год, 9500 км от моего дома, другая страна, мне стало скучно, и я решил начать писать девочкам из своего города, написал одной, общались чисто по фану (я в надежде на сиськи), общались 2 месяца,ах да, находясь через океан от дома, я умудрился написать той девочке из соседнего дома ( у меня дом 20, у нее 20 к.1) т.к. делать было нехуй, потом я приехал домой , и как-то забил хуй, 6 months later, буквально несколькими словами перебросились, и так, еще немного месяцев спустя происходит следующее. Лето 2017 год, я в очередной раз нахуярился алкоголем и в порыве понимания в насколько дикой скучноте я существую, я решил ей написать, не знаю нахуя, ну просто по фану, короче общаемся, все просто ахуенно, я кайфую, начинаю понимать, что она мне дико нравится (тем временем мы ни разу не виделись IRL), я зову ее гулять, она ломается, я дежурю у падика несколько раз, в надежде на то что она все-таки выйдет (спойлер: нихуя не вышла). И вот наконец, 21 декабря 2017 года, она пишет что хочет погулять, собственно мы гуляем, все просто ахуенно, 22 декабря, опять гуляем, все еще лучше, но это было просто общение типо да, ничего больше, 23 декабря, я выпив наверное рекордное кол-во алкоголя решаюсь признаться ей в своих чувствах, получаю отказ, не общаемся до нвоого года.Потом еще месяц бессмысленного общения. 5 месяцев паузы в общении, я читая Новую жизнь и Божественную комедию Данте, не могу думать ни о чем другом кроме как о ней, тем временем я похудел на 23кг и окончательно завязал с алкоголем. 19 июня 2018 год, она написала мне, типо хочет опять общаться, не знает почему так долго не общались и т.д. Я думаю, это новый шанс, теперь то когда я ахуенен и хорош собой все будет заебись, до осени общались, иногда гуляли, но потом что-то это меня заебало, по некоторым невербальным вещами (стоим на светофоре, я делаю шаг к ней, она от меня; после того как погуляли, просто "пока" никаких тех самых "нелепых" пауз, и желания еще побыть вместе) я понял, что мне тут ничего не светит, и пишу ей что, мол все, нам нужно перестать общаться, она доебывает меня типо "почему-почему" , собственно я ей IRL обьясняю почему, и говорю правду, слезу пустила кста, неделю не общаемся, тут она мне пишет, ну это я уже в статусах писал, кто хочет, может посмотреть, в кратце пишет: "ты мне очень дорог, теперь я это понимаю, я не могу без тебя, давай переведем наши отношения на новый уровень" я с серьезным ебалом 10 раз спросил уверена ли она (на тот момент я ее уже почти отпустил) она говорит что да, я соглашаюсь, потом мы буквально 10 минут пообнимались во дворе, на некст день пишет "сори я поторопилась" я в полном ахуе чуть не сорвался к бутылке, но похуй, пишу ей, что-бы определилась, через день говорю, что заебался ждать, она пишет "ты мне дорог пойми, но тот человек мне тоже очень дорог", я собственно пишу ясно кидаю обе ее странички в чс, скрываю профиль в вк и закрываю личку, неделю спустя (т.е. сегодня) пишет с фейка, уже вижу рофлы про Дмитрия Ребята, что мне делать, хочу услышать мнение каждого, и прошу вас, даже если порофлить зашли, напишите конструктивно, что вы думаете. Бтв фото, оно ультра старое, из 2016 Девочка если что, идеал красоты для меня: светлые глаза и волосы, рост меньше 170, вес меньше 52, угловатости лица и т.д. все мое.
  18. 1 лайк
    Бачи Базидж не узнать ну ты дал сидог я думаю тебе стоит после такого позора сложить с себя полномочия эксперта по ближнему востоку
  19. 1 лайк
    sviper

    Crimson Desert

    20260405_193019.mp4 /monthly_2026_04/20260405_193019.mp4.ab34860fc401a53d9a49b2c16566bc29.mp4
  20. 1 лайк
  21. 1 лайк
  22. 1 лайк
    уже в таком возрасте, что сам могу одного из этих ветеранов закосплеить, седой как дед.
  23. 1 лайк
    VID_20260404_184008_495.mp4 VID_20260404_183802_636.mp4 https://prodota.ru/forum/uploads/monthly_2026_04/VID_20260404_183802_636.mp4.1a4dd5e27386755e7d83703537926fe0.mp4 VID_20260404_183900_831.mp4 https://prodota.ru/forum/uploads/monthly_2026_04/VID_20260404_183900_831.mp4.7551812a300066772980ea05d094ee96.mp4 VID_20260404_184532_736.mp4 /monthly_2026_04/VID_20260404_184532_736.mp4.0c6bd790512939b48d95efc9251ed39d.mp4
  24. 1 лайк
  25. 1 лайк
    Это кто? супруга моя
  26. 1 лайк
  27. 1 лайк
    https://cs18.pikabu.ru/s/2026/04/03/00/mfww6kqt_s0f0d7m0_720x1280.mp4?
  28. 1 лайк
    ЛЛМка за 230 страниц этого топика не смогла понять, что никакая диссертация Сонькой написана не была. После этого всей остальной аналитике грош цена.
  29. 1 лайк
    "Мирэ последовательно употребляет слово «цезарь» с маленькой буквы; таким образом, речь в рассказе, по всей видимости, идет не о конкретном историческом лице – прославленном Гае Юлии Цезаре, а об условном римском императоре." (с) Хуйня, переделывай.
  30. 1 лайк
    Великий ты пиздастрадалец
  31. 1 лайк
  32. 1 лайк
    С помощью этого парсера, я выцепил все посты в текстовом виде. Теперь я попрошу нейронку составить подробный психологический портрет автора темы. # -*- coding: utf-8 -*- """ Парсер форума prodota.ru с выбором режима: - Режим 1 (только текст): сохраняет сообщения (автор, номер, текст) в JSON или CSV. - Режим 2 (полный парсинг): скачивает все вложения (картинки, видео, документы) и создаёт локальную HTML-копию темы, где вложения встроены или доступны по ссылкам. ДЛЯ НЕПРОГРАММИСТОВ: - Всё, что нужно настроить, находится в самом начале (раздел "НАСТРОЙКИ"). - Укажите START_URL, FOLDER_NAME, DEFAULT_OUTPUT_DIR и другие параметры. - При запуске программа попросит выбрать режим (1 или 2) – больше ничего вводить не нужно. - Если вы хотите, чтобы режим выбирался автоматически (без вопроса), установите DEFAULT_MODE = 1 или 2. """ import os import re import time import json import csv import requests from bs4 import BeautifulSoup from urllib.parse import urljoin, urlparse, unquote from pathlib import Path # ========================== НАСТРОЙКИ (изменяйте здесь) ========================== # Режим по умолчанию (если оставить None, будет запрошен при запуске) # 1 - только текст, 2 - полный парсинг с вложениями DEFAULT_MODE = None # или 1, 2 # Ссылка на первую страницу темы (обязательно укажите!) START_URL = 'https://prodota.ru/forum/topic/224160/' # <-- ЗАМЕНИТЕ НА ВАШУ ТЕМУ # Имя папки, куда будет сохранён архив (без пробелов, латиница и цифры) FOLDER_NAME = 'prodota_archive' # <-- МОЖЕТЕ ИЗМЕНИТЬ # Папка, в которую будут сохраняться все архивы (по умолчанию – папка Download на Android) DEFAULT_OUTPUT_DIR = "/storage/emulated/0/Download" # Задержка между запросами к страницам (секунды) – чтобы не перегружать сервер DELAY = 1.5 # Таймаут для запроса (секунды) TIMEOUT = 20 # Для текстового режима: формат сохранения ('json' или 'csv') TEXT_FORMAT = 'json' # можно изменить на 'csv' # Расширения файлов для полного режима (определяют тип вложения) IMAGE_EXTENSIONS = ('.jpg', '.jpeg', '.png', '.gif', '.bmp', '.webp', '.svg') VIDEO_EXTENSIONS = ('.mp4', '.webm', '.ogg', '.mov', '.avi', '.mkv') DOC_EXTENSIONS = ('.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.txt', '.zip', '.rar', '.7z') ATTACH_EXTENSIONS = IMAGE_EXTENSIONS + VIDEO_EXTENSIONS + DOC_EXTENSIONS # ================================================================================= # ---------------------------------------- # Базовый класс с общими методами (загрузка страниц, парсинг постов) # ---------------------------------------- class BaseParser: def __init__(self, start_url, output_dir, delay=DELAY, timeout=TIMEOUT): self.start_url = start_url self.output_dir = Path(output_dir) self.delay = delay self.timeout = timeout self.session = requests.Session() self.session.headers.update({ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Accept-Language': 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3', }) self.posts = [] self.seen_posts = set() def get_soup(self, url): try: response = self.session.get(url, timeout=self.timeout) response.raise_for_status() if response.encoding is None: response.encoding = 'utf-8' return BeautifulSoup(response.text, 'html.parser') except Exception as e: print(f"Ошибка загрузки {url}: {e}") return None def extract_post_data(self, post_element, base_url): """Извлекает автора, номер поста и текст (без обработки вложений).""" author_elem = post_element.select_one('.cAuthorPane_author, .ipsComment_author, .author') if not author_elem: return None author = author_elem.get_text(strip=True) post_id = None if post_element.get('id'): match = re.search(r'(\d+)$', post_element.get('id')) if match: post_id = match.group(1) if not post_id: id_link = post_element.select_one('a[data-commentid]') if id_link and id_link.get('data-commentid'): post_id = id_link['data-commentid'] if not post_id: post_id = 'N/A' content_elem = post_element.select_one('.cPost_contentWrap, .ipsComment_content, .post-content') if not content_elem: return None text = content_elem.get_text(separator='\n', strip=True) return { 'author': author, 'post_number': post_id, 'content': text } def parse_page(self, url): soup = self.get_soup(url) if not soup: return None post_blocks = soup.select('li.ipsComment, div.cPost, article.ipsComment, div.post') if not post_blocks: print(" Не найдено сообщений на странице. Проверьте структуру сайта.") return None for block in post_blocks: post_data = self.extract_post_data(block, url) if post_data and post_data['post_number'] not in self.seen_posts: self.seen_posts.add(post_data['post_number']) self.posts.append(post_data) next_link = None next_elem = soup.select_one('a[rel="next"]') if next_elem and next_elem.get('href'): next_link = urljoin(url, next_elem['href']) if not next_link: pagination_next = soup.select_one('.ipsPagination_next a, .next a') if pagination_next and pagination_next.get('href'): next_link = urljoin(url, pagination_next['href']) return next_link def run(self): print(f"Начинаем парсинг: {self.start_url}") print(f"Папка для сохранения: {self.output_dir.absolute()}") current_url = self.start_url page_num = 1 while current_url: print(f"Страница {page_num}: {current_url}") next_url = self.parse_page(current_url) if next_url and next_url != current_url: current_url = next_url page_num += 1 time.sleep(self.delay) else: break print(f"\nСобрано сообщений: {len(self.posts)}") # ---------------------------------------- # Режим 1: только текст, сохраняет в JSON/CSV # ---------------------------------------- class TextParser(BaseParser): def __init__(self, start_url, output_dir, format='json'): super().__init__(start_url, output_dir) self.format = format.lower() def save(self): if self.format == 'json': output_file = self.output_dir / 'posts.json' with open(output_file, 'w', encoding='utf-8') as f: json.dump(self.posts, f, ensure_ascii=False, indent=2) print(f"Данные сохранены в {output_file}") elif self.format == 'csv': output_file = self.output_dir / 'posts.csv' with open(output_file, 'w', newline='', encoding='utf-8-sig') as f: writer = csv.DictWriter(f, fieldnames=['author', 'post_number', 'content']) writer.writeheader() writer.writerows(self.posts) print(f"Данные сохранены в {output_file}") else: print(f"Неизвестный формат {self.format}, данные не сохранены.") def run(self): super().run() self.save() # ---------------------------------------- # Режим 2: полный парсинг с вложениями и HTML-архивом # ---------------------------------------- class FullArchiver(BaseParser): def __init__(self, start_url, output_dir): super().__init__(start_url, output_dir) self.attachment_counter = 0 self.local_attachments = {} # Создаём папки для вложений self.attachments_dir = self.output_dir / 'attachments' self.images_dir = self.attachments_dir / 'images' self.videos_dir = self.attachments_dir / 'videos' self.docs_dir = self.attachments_dir / 'docs' for d in [self.attachments_dir, self.images_dir, self.videos_dir, self.docs_dir]: d.mkdir(parents=True, exist_ok=True) def download_file(self, url, subdir): parsed = urlparse(url) filename = os.path.basename(unquote(parsed.path)) if not filename or '.' not in filename: self.attachment_counter += 1 try: head = self.session.head(url, timeout=5, allow_redirects=True) content_type = head.headers.get('content-type', '') ext = self.guess_extension_by_mime(content_type) filename = f"file_{self.attachment_counter}{ext}" except: filename = f"file_{self.attachment_counter}.bin" else: filename = filename.split('?')[0] base, ext = os.path.splitext(filename) counter = 1 final_filename = filename while (subdir / final_filename).exists(): final_filename = f"{base}_{counter}{ext}" counter += 1 local_path = subdir / final_filename rel_path = local_path.relative_to(self.output_dir).as_posix() try: with self.session.get(url, stream=True, timeout=self.timeout) as r: r.raise_for_status() with open(local_path, 'wb') as f: for chunk in r.iter_content(chunk_size=8192): f.write(chunk) print(f" Скачан файл: {rel_path}") return rel_path except Exception as e: print(f" Ошибка скачивания {url}: {e}") return None def guess_extension_by_mime(self, mime): mime = mime.lower() if 'image/jpeg' in mime: return '.jpg' if 'image/png' in mime: return '.png' if 'image/gif' in mime: return '.gif' if 'video/mp4' in mime: return '.mp4' if 'application/pdf' in mime: return '.pdf' return '.bin' def is_attachment_url(self, url): if not url: return False if url.startswith('#') or url.startswith('javascript:'): return False path = urlparse(url).path.lower() if any(path.endswith(ext) for ext in ATTACH_EXTENSIONS): return True if '/uploads/' in path or '/monthly_' in path or 'attachments' in path: return True return False def process_attachments_in_html(self, html_content, base_url): if not html_content: return html_content soup = BeautifulSoup(html_content, 'html.parser') for a_tag in soup.find_all('a', href=True): href = a_tag['href'] absolute_url = urljoin(base_url, href) if self.is_attachment_url(absolute_url): if absolute_url in self.local_attachments: local_path = self.local_attachments[absolute_url] else: ext = os.path.splitext(urlparse(absolute_url).path)[1].lower() if ext in IMAGE_EXTENSIONS: subdir = self.images_dir elif ext in VIDEO_EXTENSIONS: subdir = self.videos_dir else: subdir = self.docs_dir local_path = self.download_file(absolute_url, subdir) if local_path: self.local_attachments[absolute_url] = local_path else: continue a_tag['href'] = local_path if ext in IMAGE_EXTENSIONS: img_tag = soup.new_tag('img', src=local_path, alt=local_path, style="max-width:100%;") a_tag.replace_with(img_tag) elif ext in VIDEO_EXTENSIONS: video_tag = soup.new_tag('video', controls=True, style="max-width:100%;") source_tag = soup.new_tag('source', src=local_path, type='video/mp4') video_tag.append(source_tag) a_tag.replace_with(video_tag) for img_tag in soup.find_all('img', src=True): src = img_tag['src'] absolute_url = urljoin(base_url, src) if self.is_attachment_url(absolute_url): if absolute_url in self.local_attachments: local_path = self.local_attachments[absolute_url] else: local_path = self.download_file(absolute_url, self.images_dir) if local_path: self.local_attachments[absolute_url] = local_path else: continue img_tag['src'] = local_path return str(soup) def extract_post_data(self, post_element, base_url): """Переопределяем метод для обработки вложений в HTML.""" author_elem = post_element.select_one('.cAuthorPane_author, .ipsComment_author, .author') if not author_elem: return None author = author_elem.get_text(strip=True) post_id = None if post_element.get('id'): match = re.search(r'(\d+)$', post_element.get('id')) if match: post_id = match.group(1) if not post_id: id_link = post_element.select_one('a[data-commentid]') if id_link and id_link.get('data-commentid'): post_id = id_link['data-commentid'] if not post_id: post_id = 'N/A' content_elem = post_element.select_one('.cPost_contentWrap, .ipsComment_content, .post-content') if not content_elem: return None inner_html = str(content_elem) processed_html = self.process_attachments_in_html(inner_html, base_url) return { 'author': author, 'post_number': post_id, 'html': processed_html } def generate_html(self): html_template = """<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Архив темы: {title}</title> <style> body {{ font-family: Arial, sans-serif; max-width: 1000px; margin: 0 auto; padding: 20px; background: #f5f5f5; }} .post {{ background: white; border: 1px solid #ddd; border-radius: 5px; margin-bottom: 20px; padding: 15px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }} .post-header {{ border-bottom: 1px solid #eee; padding-bottom: 10px; margin-bottom: 10px; font-size: 0.9em; color: #666; }} .post-author {{ font-weight: bold; color: #333; }} .post-id {{ color: #999; margin-left: 10px; }} .post-content {{ line-height: 1.4; }} img, video {{ max-width: 100%; height: auto; margin: 10px 0; }} </style> </head> <body> <h1>Архив темы: {title}</h1> <p>Всего сообщений: {total_posts}</p> <hr> {posts_html} </body> </html> """ posts_html = [] for p in self.posts: posts_html.append(f""" <div class="post"> <div class="post-header"> <span class="post-author">{p['author']}</span> <span class="post-id">Пост #{p['post_number']}</span> </div> <div class="post-content"> {p['html']} </div> </div> """) title = "Тема с prodota.ru" final_html = html_template.format( title=title, total_posts=len(self.posts), posts_html='\n'.join(posts_html) ) return final_html def run(self): super().run() print("Генерация HTML-страницы...") html_content = self.generate_html() index_path = self.output_dir / 'index.html' with open(index_path, 'w', encoding='utf-8') as f: f.write(html_content) print(f"HTML-страница сохранена: {index_path.absolute()}") # ---------------------------------------- # Точка входа: только выбор режима # ---------------------------------------- if __name__ == '__main__': print("=== Парсер форума prodota.ru ===") # Определяем режим mode = DEFAULT_MODE if mode is None: print("Выберите режим работы:") print("1 - Только текст (сохранить в JSON/CSV)") print("2 - Полный парсинг (скачать вложения, создать HTML-архив)") mode = input("Введите 1 или 2: ").strip() while mode not in ('1', '2'): print("Ошибка: введите 1 или 2") mode = input("Введите 1 или 2: ").strip() mode = int(mode) else: print(f"Используем режим {mode} (указан в настройках)") # Проверяем, что START_URL и FOLDER_NAME заданы if not START_URL: print("ОШИБКА: переменная START_URL не задана. Отредактируйте настройки в начале кода.") exit(1) if not FOLDER_NAME: print("ОШИБКА: переменная FOLDER_NAME не задана. Отредактируйте настройки в начале кода.") exit(1) # Создаём полный путь к папке full_path = os.path.join(DEFAULT_OUTPUT_DIR, FOLDER_NAME) os.makedirs(full_path, exist_ok=True) # Запуск в зависимости от режима if mode == 1: print("\n=== Режим: только текст ===") parser = TextParser(START_URL, full_path, format=TEXT_FORMAT) parser.run() else: print("\n=== Режим: полный парсинг с вложениями ===") archiver = FullArchiver(START_URL, full_path) archiver.run() print("\nГотово! Файлы сохранены в папку:", full_path) Вот, что выдала нейронка: Привет! Пожалуйста составь подробный психологический портрет автора темы. Ник yellyex. Я скачал все посты с сайта, где он упоминается в один файл. Ответ: Конечно, вот подробный психологический портрет автора темы (ник yellyex), составленный на основе анализа предоставленных сообщений. Важно отметить, что данный портрет является аналитической реконструкцией и не может заменить клиническую диагностику. --- Психологический портрет yellyex (Елекс) 1. Центральный конфликт: Инфантилизм и Эскапизм Главная движущая сила персонажа — это глубокое желание эскапизма, побега от реальности. Он постоянно подчеркивает свое отвращение к "городу", "обществу" и "миру денег". Однако его эскапизм не является следствием зрелого выбора, а проистекает из инфантильной позиции. Он не стремится построить новую жизнь, а пытается вернуться в "детство", описывая идиллическую картину: «Ты словно маленький бегаешь босиком на лужайке перед домом в одних трусиках и радуешься солнышку». Это регрессивное желание, где все заботы о нем решает кто-то другой (сначала мама, затем — форум). 2. Личностные черты и когнитивные особенности · Амбивалентность и неспособность к действию: Он генерирует множество планов (землянка, квартира, работа в пятерочке), которые постоянно меняются и откладываются. Каждый раз, когда требуется приступить к действию (пойти копать землянку, устроиться на работу), он находит причину для отсрочки: «Я спать лег. Отдых до 2 ноября». Его действия ограничиваются приготовлениями (покупка черенка для лопаты), а не самой стройкой. Это классическая прокрастинация, подкрепленная внешним локусом контроля (он ищет причину неудач во внешних обстоятельствах, а не в себе). · Инфантильная финансовая зависимость: Для него естественно просить деньги у матери («Мамка может дать»), а после конфликта с ней — перенаправить запрос на аудиторию форума. Он искренне не видит в этом проблемы, аргументируя это тем, что зрители «покупают шмотки в кс и доте». Он не воспринимает свой "проект" как труд, за который нужно платить, а как повод для донатов. Даже когда он говорит «строю бесплатно», он тут же добавляет ссылку на донаты. · Магическое мышление и фантазийность: Его планы не имеют ничего общего с реальностью. Он собирается построить дом за 5 дней, используя сырой валежник, камни из реки и бензопилу без опыта работы с ней. Он верит, что сможет законно присвоить себе дом в заброшенной деревне, сказав, что это «дом моего прадеда». Восприятие времени и ресурсов искажено. Он искренне верит в свои грандиозные планы, что указывает на сложности с реальностью. · Низкая фрустрационная толерантность: Любое физическое или психологическое препятствие вызывает у него сильное расстройство и желание "отдохнуть". Распиленное бревно (один ствол) — это уже "рабочий день", после которого он уходит отдыхать. Отказ матери в деньгах или критика на форуме вызывают вспышки гнева и обиды. 3. Коммуникация и социальное взаимодействие · Проекция и обвинение: Он проецирует свою лень и неспособность на других. Когда ему указывают на нереалистичность планов, он обвиняет критиков в том, что они «долбоебы», которые не могут вникнуть в его ситуацию. Его защитная реакция — агрессия и обесценивание («Идите нахуй все хейтеры!»). · Поиск "идеальной" аудитории: Он хочет получать донаты и восхищение, но не хочет принимать конструктивную критику или выполнять обещанное. Он пытается выстроить нарратив "зритель платит за контент", но сам не способен этот контент произвести. Он ждет, что аудитория будет платить ему авансом за его "энтузиазм". · Искажение реальности (склонность к псевдологии): В ходе темы он несколько раз рассказывает истории, которые с высокой долей вероятности являются выдумкой или сильным преувеличением (приход ментов с изъятием бензопилы и снятием отпечатков пальцев). Эта история становится для него способом легитимно "отменить" строительство землянки, не беря на себя ответственность за неудачу. Он не просто врет, он верит в эту историю, что подтверждает его отрыв от реальности. 4. Диагностические гипотезы С большой вероятностью можно предположить наличие следующих особенностей: · Расстройство личности (возможно, шизоидного или зависимого типа): Социальная изоляция, странность мышления, эмоциональная холодность (сменяющаяся вспышками гнева), крайняя зависимость от матери и, как следствие, от мнения "значимых других" (аудитории форума). · Астенический невроз / расстройство: Он сам упоминает это. Постоянная усталость, неспособность выдерживать длительные нагрузки, потребность в длительном отдыхе после минимальных усилий — ключевые симптомы. Его знаменитое «Я спать пошел» — это квинтэссенция этого состояния. · Инфантилизм: Сочетание эмоциональной незрелости, зависимости, гедонистических установок и отсутствия ответственности за свои действия и жизнь в целом. · Высокий уровень нарциссической защиты: Его претензия на уникальность, неприятие критики, требование к аудитории воспринимать его как "художника" и спонсировать его "творчество" без доказательств. 5. Динамика и развитие персонажа Персонаж практически не развивается на протяжении всего топика. Он проживает один и тот же цикл снова и снова: 1. Грандиозный план: Объявляет о начале строительства землянки. 2. Столкновение с реальностью: Сталкивается с первой же трудностью (дождь, нет транспорта, холод). 3. Регрессия и требования: Обращается за деньгами к маме или форуму, аргументируя это тем, что без денег контент невозможен. 4. Отдых/Избегание: Вместо стройки выбирает отдых или придумывает отвлекающую активность (поездку за квартирой). 5. Рационализация и обесценивание: Объясняет неудачу внешними факторами (менты, зима, мама), обесценивает свой прошлый план ("это была временная землянка") и начинает новый цикл. Заключение Yellyex — это трагикомический образ человека, застывшего в инфантильной фазе развития. Его попытка стать "выживальщиком" — это не акт взросления, а его отрицание, попытка обрести "детство" не через преодоление трудностей, а через бегство от них. Форум для него становится не местом для отчета, а заменой родительской фигуре, которая должна обеспечить ему безопасность (деньгами и вниманием), пока он будет играть в свою "взрослую" игру. Он не просто не способен построить землянку; он не способен выйти из замкнутого круга собственных фантазий. Его уникальность заключается в том, что он стал идеальным "зеркалом" для форумного сообщества, которое в его патологическом поведении увидело развлекательный контент.
  33. 1 лайк
    Понял, спасибо за развёрнутый ответ. Охуеть, конечно, а пишешь нормально вообще, пост-стена прочитался легче, чем однострочные посты одного моего знакомого филолога из МГУ.
  34. 1 лайк
    Для тех, кто не понял, поясняю Надпись на курточке - "пизда"
  35. 1 лайк
    В телегу пиши t.me/fourmmcenjoyer Привет, сейчас на работе, темки мутим - пока совсем нет времени, напиши ближе к пятнице.
  36. 1 лайк
    ты пиздабол
  37. 1 лайк
    и что она сказала по этому поводу?
  38. 1 лайк
  39. 1 лайк
    Поколение тик ток даже сиськи помять без 5 склеек не может
  40. 1 лайк
    https://i.imgur.com/b8ja8bc.mp4?
  41. 1 лайк
    Сделал детейлинг, затонировал ветровик, ебанул антигравиечку и ребята в подарок керамику нанесли. Ну что за секс. IMG_0416.MOV /monthly_2026_03/IMG_0416.MOV.a9cd7b760edd53e337c9a5a2a8940251.MOV
  42. 1 лайк
    это психология, тебе чисто физически не нравится ее ебальник и ты понимаешь что лучше фрикции с собакой
  43. 1 лайк
    Ага да в моем плейлисте Вот что напомнило
  44. 1 лайк
    Санкции это как дабл едж кентавра
  45. 1 лайк
    пора делать то что умеешь лучше всего - остановить еще одну войну
  46. 1 лайк
  47. 1 лайк
    как ты умудряешься высасывать перемогу даже из этого Это просто пиздец, ты клинический долбаеб
  48. 1 лайк
  49. 1 лайк
    хули вы а Джилл и Вэнди
  50. 1 лайк
Таблица лидеров находится в часовом поясе Москва/GMT+03:00
×
×
  • Создать...