Email or username:

Password:

Forgot your password?
Top-level
Stas

Миллион наверное не получится. В секунду обрабатываю от 4 до 60 юзеров (видимо скорость от инстанса зависит, есть медленные). Вычисление средней скорость изначально не закладывал в логику, но путь будет 50. Т.е. за час я обработаю тыс 180 пользователей.
Но в принципе красивая кластеризация начинается от 100 тыс. Поэтому попробую тестово в этом районе собрать (может какие-то ошибки вылезут, а там, если первый сбор будет ок, то может для основного сбора несколько часов подожду.

16 comments
Stas

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

Stas

Почему-то 2 раз подряд остановилось ровно на 30778 строке. Писал в файл. Возможно из-за глубокой рекурсии какие-то системные проблемы с памятью. Сильно разбираться в этом не хочу.
Пока перевёл на sqlite и добавил логи.
Надеюсь это не какое-то ограничение API, а моя локальная проблема.

Stas

Иногда нужно пройти все этапы (на самом деле уже их проходил, просто подзабыл), чтобы понять, что ошибки(проблемы) в общем-то и не было.
Оказалось, что все дело в глубине рекурсии:
1 уровень, смотрю только своих подписчиков(юзеров) и их записываю.
2 - смотрю юзеров у юзеров.
3 - смотрю юзеров у юзеров юзеров. И вот тут есть разница по сравнению с твиттером, поскольку в целом Мастадонт более компактен, у всех меньше подписок. Поэтому и утыкался несколько раз в одно и тоже число.

Stas

Ну и оказалось, что апишечка вообще все хитро регулирует и ограничивает самими инстансами "из коробки". Получать информацию в много потоков - это нужно прям сильно постараться. Владельцы слабых инстансов могут спать спокойно. Все очень грамотно by design.
mastodonpy.readthedocs.io/en/s

Stas

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

Stas

Как все закончу выложу на гитхаб, скрипт, собранные связи, инструкцию и пр.

liilliil 🇫🇯🇱🇨

@vsv Что это, Бэрримор? (особенно то жёлтое в стороне)

Stas

@liilliil граф пользователей мастодонта

Stas replied to liilliil

@liilliil да пока ничего. это промежуточный результат. желтое в стороне это какой-то англоязычный пользователь. Но я уже не гляну кто именно, сбросил его.
вверху кластер вроде англоязычный, внизу рускоязычный

liilliil 🇫🇯🇱🇨 replied to Stas

@vsv есть хотя бы возможность к карте привязать?

Stas replied to liilliil

@liilliil к географической? локаций то ни у кого нету. по языку? ну тоже такое себе. но чисто визуально можно, наверное. все в рамках gephi или чего-то аналогичного можно все что угодно. но тут больше кластеризация комьюнити

Stas replied to Stas

@liilliil потом в любом случае выложу свгшку, чтоб можно было не запариваясь с gehi порассматривать. сбросил, потому что еще идет сбор. на тот момент было 84к, сейчас 90к. не знаю пока на сколько меня хватит, но буду продолжать сбор

Stas

сожмет?
p.s. пережало картинку

Stas

@PaulNakatim
да там большой файл. решил проверить насколько его сожмет. придется на гитхаб все картинки выкладывать
вот так 100% центральная область выглядит

Go Up