Skip to content

mashhadlug/analytics

Repository files navigation

استخراج اطلاعات از سابقه مشهدلاگ

این پروژه سعی داره تا حد امکان از گذشته مشهدلاگ اطلاعات در بیاره و در قالب json line این اطلاعات رو استخراج کنه. بعد از اون اطلاعات پردازش میشن و با استفاده داده های پردازش شده می‌توان رزومه مشهدلاگ، وبسایت مشهدلاگ، آمار آنچه اتفاق افتاده و هر چیزی که نیاز به سوابق لاگ داره رو بهتر کرد و به نمایش گذاشت.

این پروژه به اعتماد و برندینگ مشهدلاگ قراره کمک کنه و به حامی ها کمک کنه تا ارزش واقعی مشهدلاگ رو متوجه بشن. همچنین کاربران مشهدلاگ هم ممکنه از دیدن این آمار ها لذت ببرن.

از هرگونه مشارکت در این پروژه استقبال خواهد شد.

نیازمندی ها

  • python3
  • fzf
  • jq

اماده سازی پروژه

python -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
nano .env
export $(grep -v '#' .env | xargs)

exporter_telegram.py

این اسکریپت تمام پیام های تلگرام رو با فرمت json line استخراج میکنه و خروجیش رو میشه ریخت تو فایل و با ابزار های دیگه پردازشش کرد.

filter_events.py

این اسکریپت پیام های گرفته شده از مشهدلاگ رو سعی میکنه یکم فیلتر کنه و مرتب تر کنه ساختارشون رو تا راحت تر بشه باهاشون کار کرد.

لیست جداول و نمودار هایی که باید باشن

  • نمودار تعداد جلسات برگزار شده در هر سال
  • موضوعات ارائه شده به صورت کلی
  • اقشار مختلف مخاطب هامون
  • اقشار مختلف ارائه دهنده هامون
  • نموداری از حامیان با دسته بندی شون. مثلا اکادمیک، دولتی، شرکت، بیزنس های کوچک، کافی شاپ ها، سازمان های غیر انتفاعی

لیست اطلاعاتی که لازم داریم

فعلا فقط داده جلسات رو لازم داریم و قراره که غیر از جلسات چیزی بهمون نده.

از همون داده جلسات نیاز به خروجی json line جدید داریم که هر خط موارد زیر رو داشته باشه:

  • تاریخ جلسه
  • موضوعات جلسه
  • ارائه دهنده ها
  • اسپانسر ها
  • ادرس
  • شماره جلسه

استفاده از دستورات

فیلتر کردن جلسات و استخراج داده از تمام پیام های موجود:

grep -e "جلسه" -e "نشست" bucket/telegram-channel.jsonl |
    ./filter_events.py >> bucket/events-insight.jsonl 

دستور بالا قراره تمام اطلاعات لازم رو برای هر جلسه موجود بهمون بده که بعد با یک سری اسکریپت ساده نمودار و جداول مورد نیاز مون رو درست کنیم.

اسکریپت ها

میتوانید از اسکریپت های نوشته شده با bash استفاده کنید تا داده ها را تمیز تر کنید. اسکریپت json-lug-sanitizer.sh قراره بر اساس یک سری الگو داده های پرت رو پاک کنه.

اسکریپت json-remover.sh با استفاده از fzf قراره مقادیر رو نشون بده و بعد با انتخاب کردن مقادیر غلط و بدردنخور و فشردن اینتر اون داده ها حذف میشن. برای اینکه چند مقدار رو باهم انتخاب کنید میتونید دکمه شیفت و تب رو بزنید تا انتخاب بشه.

اسکریپت extract-data.sh داده های موردنیاز رو برامون لیست میکنه تا بتونیم راحت تر ازشون استفاده کنیم.

About

جمع آوری داده جلسات و آمار آنچه در مشهدلاگ گذشته است

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published