مرحباً هبر.
في
الجزء السابق ، تم تحليل رسائل مستخدمي هذا الموقع ، مما تسبب في نقاش حيوي حول موضوع المعلمات المختلفة (عدد الرسائل ، التصنيف ، "الكرمة" ، إلخ). لقد تراكمت مثل هذه الأسئلة بما يكفي لجعل الجزء الثاني.

بالنسبة لأولئك المهتمين ، ما هو طول أكبر نقاش في التعليقات لهذا العام ، وما يمكن أن يكون الحد الأقصى والحد الأدنى "كارما" للمستخدمين ، وغيرها من الإحصاءات ، من فضلك ، تحت القط.
جمع البيانات
بادئ ذي بدء ، اضطررت إلى استكمال المحلل اللغوي بحيث يجمع المزيد من البيانات. المعلومات حول تصنيف الرسائل وموضع الرسائل في سلسلة الرسائل موجودة بالفعل في HTML ، ولكن من أجل الحصول على "الكرمة" للمستخدم ، يجب تقديم طلب إضافي. بالطبع ، تم تخزين القيم مؤقتًا بحيث لا يطلب نفس المستخدم عدة مرات.
تبدو مجموعة البيانات المحدّثة الآن هكذا (تمت إزالة الأسماء المستعارة للمستخدم):
https://habr.com/ru/post/322900/,comment_19707920,comment_19706258,UserXXXX,karma:112.2,answers:1,2019-02-04 20:26:00,rating:1,up:1,down:0, ?
https://habr.com/ru/company/mailru/blog/351212/,comment_19794710,comment_19794310,UserXXXX,karma:-10.0,answers:1,2019-02-23 18:16:00,rating:3,up:5,down:-2,
...
من الحقول الإضافية ، تمت إضافة حقل الإجابات (عدد الإجابات) ، وكارما المستخدم ، بالإضافة إلى التصنيفات الإيجابية والسلبية.
وظيفة الحصول على "الكرمة" من قِبل المستخدم ، على سبيل المثال ، تبدو كما يلي:
def get_karma(user: str): data_html = get_as_str("https://habr.com/ru/users/%s/" % user) karma = data_html.find_between('info/help/karma/', '</a>').find_between('stacked-counter__value', '/div>').find_between('>', '<').replace(",", ".").replace('–', '-') return float(karma) if len(karma) > 0 else 0.0
كما ترون ، كل شيء بسيط للغاية ، لا علم الصواريخ. كما يجب أن نشكر مبرمجي Habr على كود HTML الواضح والملائم للتحليل.
بلغ حجم ملف CSV الناتج لهذا 2019 334 ميجابايت. يمكنك أن تبدأ التحليل. قبل البدء ، أذكرك بأن جميع البيانات المنشورة مفتوحة وعامة ، كما أنها مفهرسة بواسطة محركات البحث. ليس لدي معلومات داخلية ، كل شيء مأخوذ من صفحات هذا الموقع.
كارما
كما أوضح الجزء السابق ، "الأسئلة الكرمية" هي الأكثر أهمية ، لذلك دعونا نبدأ بها. كما تعلم ، "الكرمة" هي سمة لأي مستخدم نشط لهذا الموقع ، يمكن للمشاركين اختيار زيادتها أو تقليلها. بصراحة ، لم أتطرق مطلقًا إلى أسئلة حول كيفية عملها حقًا وما هي القيود التي تفرضها ، لذلك سأقدم فقط البيانات دون أي تعليقات خاصة.
في المجموع ، على الموقع وقت جمع التصنيف ، هناك
25،109 مستخدمًا هم الذين تركوا مرة واحدة على الأقل تعليقًا واحدًا على الأقل. من هؤلاء ، 9973 مستخدم (39٪) لديهم
صفر كارما . 12346 من المستخدمين (49 ٪) لديهم
كارما إيجابية ، منها 5384 من المستخدمين (21 ٪) لديهم
الكرمة <= 4 و
> 40 = الكرمة (هذا المستوى يسمح لك بالمشاركة في "برنامج المكافآت" وتلقي الدفع مقابل المقالات) لديه 1522 مستخدمًا (6 ٪). 2790 من المستخدمين (11 ٪) لديهم
كارما سلبية .
بيانياً ، يبدو الجزء الرئيسي من التوزيع كما يلي:

عمودي - عدد المستخدمين مع هذا الكرمة. الرسم البياني هو اقتصاص على القمة ، كما المستخدمين مع صفر كارما كحد أقصى (9973 مقابل 2570 مع "كارما" 1). لا يوجد عدد قليل جدًا من المستخدمين "المتأملين" ، لكن لا يزال يتم تحويل الجدول الزمني إلى ميزة "زائد" ، ويرغب في ذلك. كيف عالية ومنخفضة يمكن أن يكون الكرمة؟
يشغل
Zelenyikot (+1509.2) و
Milfgard (+1471.0) و
m1rko (+1039.5) و
PatientZero (+986.0) و
Boomburum (+881.9) و
ValdikSS (+873.5) و
alizikSS (+873.5) و alizikSS (+8737.5) و
tangro أعلى 10 تصنيفات للكرمة. (+802.5) ،
lozga (+764.7) ، و
DIHALT (696.1). أعتقد أنه يمكن تهنئتهم - عمل جيد ، أيها الرجال :) إذا فاتني شخص ما - اكتب رسائل خاصة ، سأضيفها يدويًا.
بالمناسبة ، كما اتضح ، حدث خطأ في وظيفة حسابي في karmareiting - إنه لا يعالج بشكل صحيح قيمًا أكبر من 1000 (يضيف Habr مسافة إلى الرقم ، لم أكن أعرف ذلك) ، لكن الموقف نادر الحدوث ، ولم ألاحظ ذلك على الفور.
يأخذون Antitope-10 بواسطة karma ... لا ، ربما لن أقدم أسماء مستعارة لهم حتى لا تجعل مثل هؤلاء المستخدمين "إعلان" ، مهتمين ، يمكنهم القيادة في بيانات من لقطة شاشة أسفل المفسد. بطبيعة الحال ، فإن الكرمة السلبية على الموقع فقط تقول أن الشخص يعبر عن رأي لا يحظى بشعبية على هذا الموقع ، ولا يقول أي شيء عن صفاته الشخصية ، بحيث يُطلب من أولئك الذين يقعون في "antitope" عدم الإساءة.
رسائل
في الرسائل ، يمكنك أيضًا العثور على الكثير من الأشياء المثيرة للاهتمام.
يبلغ طول الرسائل الخمسة الأولى
26 و
17 و
16 و
15 و
14 كيلو بايت على التوالي.
من المثير للاهتمام أن ننظر إلى التوزيع في شكل رسوم بيانية:

كما ترون ، تقع الذروة على الرسائل التي تبلغ حوالي 100 حرف.
تصنيف
أكثر الرسائل
تقييمًا بشكل إيجابي :
+218 و
+144 و
+141 و
+133 و
+124 .
الرسائل الأكثر
تصنيفًا سالبًا هي
-248 و
-170 و
-163 و
-131 و
-114 .
من المثير للاهتمام أن توزيع عدد الرسائل وفقًا لتصنيفها يشبه تقريبًا توزيع "الكرمة" - فهناك تقييمات إيجابية وسلبية للرسائل على حد سواء ، ولكن هناك رسائل "إيجابية" أكثر. الذي مرة أخرى ، لا يمكن إلا أن نفرح.
مناقشة
كان السؤال المثير للاهتمام التالي هو العثور على أطول سلسلة رسائل بين الرسائل. لقد اتضح أن الأمر بسيط للغاية - كل رسالة في HTML لها معرّف فريد ، وهناك أيضًا معلمة أصل-بيانات ، والباقي ، كما يقولون ، مسألة تقنية.
لذلك ، أطول فترة
من النقاش في 2019:
619 إجابة ،
618 إجابة ،
614 إجابة ،
556 إجابة و
553 إجابة . ومن المثير للاهتمام ، أن 4 من أصل 5 رسائل تسببت في هذه المواضيع قد كتبها مستخدمون مع karma أقل من -20.
قم بتجميع التعليقات وفقًا لعدد الردود عليها:

عمودي - عدد الوظائف لهذا العام. تم ترك معظم التعليقات (41 ٪ أو 183000) دون أي رد على الإطلاق ، 75000 تعليق لديهم إجابة واحدة ، ويمكن رؤية المزيد من التوزيع في الصورة.
استنتاج
في هذا الصدد ، سأنتهي من موضوع "haabatatistics" حتى يناير - في نهاية العام ، سيتم نشر التصنيف النهائي لأفضل المقالات لعام 2019 ، حسنًا ، قد يكون هناك بعض الأنماط الأخرى المثيرة للاهتمام.
آمل أن تكون مثيرة للاهتمام. إذا نسيت شخص ما - الكتابة ، الصحيح.