Как стать автором
Обновить

Комментарии 45

Сразу видно что вы теоретик.
Уже 2 часа прошло, а к статье ни одного комментария. А стоило только добавить метки из тех самых «самых обсуждаемых».
Я скорее неторопливый практик :) Про идеально привлекательный текст будет следующая статья.

Его напишет нейросеть?)

Децентрализованно, в докере и получая данные через смарт-контракт в блокчейне…
Плюсы будут обеспечены, особенно, если вы таксист.
Самые «лайкабельные» темы: вконтакте, юмор, jquery


Что-то в этом есть :)

Спасибо за анализ
Старый закон Паркинсона: «Время обсуждения любой проблемы обратно пропорциональна ее важности»
Для парсинга логичнее использовать потоки, а не процессы. Пробовал и так и эдак. Если правильно помню, 256 потоков едва загружали 1 ядро, правда сайт был довольно простой.
крутой датасет, выложите куда-нибудь, думаю многим будет интересно покопаться
Да, когда сам наиграюсь с ним, выложу на яндекс.диск.
А может дадите список валидных PostId? А мы сами их опросим.
А сколько по времени занял процесс стягивания контента? Хабр не банит чрезмерно активных пользователей?
Если не считать простоев, когда всё падало (в основном из за несоответствия структуры html ожидаемой), около 8 часов. На ноутбуке :)
Было бы очень здорово добавлять по памяти сколько темы занимают и комментарии которых 6 миллионов.
Спасибо за то, что учли!
Добавил!
В результате тексты статей (без картинок) заняли у меня 1.5 гигабайта, комментарии с метаинформацией (автор, дата, голоса...) — ещё 3, и около сотни мегабайт — метаинформация о статьях. Такое можно полностью держать в оперативной памяти, что было для меня приятной неожиданностью.
«Живых» статей оказалась только половина от потенциального максимума — 166307 штук. Про остальные Хабр даёт варианты «страница устарела, была удалена или не существовала вовсе».


Когда-то от Хабра отделился Geektimes, и часть статей была перенесена.
Перенесённые статьи при открытии по номеру перенаправляются в актуальное раположение. Не существуют только созданные после отделения.
Обычно, в таких ситуациях логичнее индексировать мобильную версию, а не десктопную, тем более, если сами пишете, что бутылочным горлышком была именно сеть.

К пример, ваша статья:
habrahabr.ru/post/346198 — 42кб
m.habrahabr.ru/post/346198 — 13кб
т.е. разница в 4 раза.

Ну и парсить потом будет проще.
Частично, это связано с тем что в мобильной версии комментарии находятся на отдельной странице, но тем не менее вы правы — экономия будет все равно будет на уровне 60%.
Неужели никакой защиты нету, типа не больше 1к постов одному ип в сутки.
Я спрашивал у TM разрешения спарсить toster.ru.
Ответ:
Мы не запрещаем пользователям парсить наши ресурсы.
А почему не использовали RSS?
Не подумал :)
Все равно спасибо, интересно :)
Да, кстати.
У меня практически 85% из фидера. Ссылки вида habrahabr.ru/post/346198?utm_source=habrahabr&utm_medium=rss&utm_campaign=346198 не учтены в статье.
эквивалентны

Я знаю, но имел ввиду другое.
Многие люди пользуются фидерами и о них, фидерах, ни слова. А мне было бы интересно узнать процент от общего количества пользователей.
Насколько я понимаю, открытых данных о доле просмотров Хабра через фидеры нет.
Можно попробовать спросить у его админов :)
ХМ! Действительно, не подумал. :(
Неплохая статистическая подборка для анализа.

"Во-первых, говорят, что создавать больше процессов, чем ядер в процессоре, бесполезно."


С чего бы это? Вы же не асинхронное приложение пишите. А операции IO прекрасный кандидат для многопоточного приложения.

«Живых» статей оказалась только половина от потенциального максимума — 166307 штук. Про остальные Хабр даёт варианты «страница устарела, была удалена или не существовала вовсе». Что ж, всякое бывает.

Где-то видел комментарий, что такая нумерация статей (грубо говоря, через одну) сделана намеренно.
Это последствия отделения Geektimes
Во-первых, я собираюсь построить модель, прогнозирующую количество просмотров статьи в зависимости от её содержания.

Тут ведь ещё и время решает + естественный рост аудитории, да?
Во-вторых, хочется научить нейросеть генерировать тексты в той же стилистике, что и у авторов Хабра.

Как Ализар? =)
Время решает, но можно попытаться включить его как фактор) Ну или ограничиться комментариями, для которых точно известно время.

Можно ссылку на статью Ализара? :)
у него их 2.4к. alizar
Весьма занятно, спасибо!
Подобную задачку решаю сейчас на досуге над другим известным порталом.
В ожидании вашего дата сета в общем доступе.
«Живых» статей оказалась только половина от потенциального максимума — 166307 штук. Про остальные Хабр даёт варианты «страница устарела, была удалена или не существовала вовсе».

Чтобы получить больше результатов можно попробовать парсить через сохабр, например, и/или другие архивы

Сохабр этому ой как не обрадуется. Ему порой и так тяжко.
Интересно, это сеошники именно с Хабра ушли или из SEO в принципе… А то был такой тренд одно время — Panda и Penguin подсобили :)
cointegrated Не подскажете пост/статью, как парсить с помощью Python (для чайников)?
sfocusov, тут есть два подхода.
Можно get-запросами тягать сырые странички, и парсить с помощью beautifulsoup — вот здесь есть пример habrahabr.ru/post/280238
А если ваши странички сложные, и там должны отрабатывать джаваскрипты, то можно использовать Selenium, чтобы управлять из питона браузером — как тут vk.com/wall-130785301_96 или тут habrahabr.ru/post/131966
Отлично. Спасибо!
Самое любопытное, что в ноябре я сделал ровно то же самое! Написал парсер, который проходит по всем статьям каждого хаба от начала времен.
Заленился, разве что, на рисовании графиков и собственно написания статьи
В любом случае, занятно, что за короткий промежуток времени вижу точную реализацию собственной мысли!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации