مرحباً هبر. في
الجزء السابق ، تم تحليل شعبية أقسام مختلفة من الموقع ، وبالتوازي مع ذلك ، نشأ السؤال - ما هي البيانات التي يمكن استخراجها من التعليقات على المقالات. أردت أيضًا اختبار فرضية واحدة ، والتي سأناقشها أدناه.

تبين أن البيانات كانت مثيرة للاهتمام للغاية ، فقد كان من الممكن أيضًا إجراء "تصنيف صغير" صغير من المعلقين. تابع تحت القطع.
جمع البيانات
للتحليل ، سوف نستخدم البيانات لهذا العام ، 2019 ، خاصة وأن قائمة المقالات في شكل ملف CSV قد تم استلامها مني بالفعل. يبقى لاستخراج التعليقات من كل مقال ، لحسن الحظ بالنسبة لنا ، يتم تخزينها هناك ، وليس هناك حاجة لطلبات إضافية.
لاستخراج التعليقات من مقال ، يكون الكود التالي كافيًا:
r = requests.get("https://habr.com/ru/post/467453/")
data_html = r.text
comments = data_html.split('<div class="comment" id=')
comments_list = []
for comment in comments:
body = Str(comment).find_between('<div class="comment__message', '<div class="comment__footer"').find_between('>', '</div>')# .replace('\n', '-')
if len(body) < 4: continue
body = body.translate(str.maketrans(dict.fromkeys("\t\n\r\v\f")))
body = body.replace('"', "'").replace(',', " ").replace('<br>', ' ').replace('<p>', '').replace('</p>', '').replace(' ', ' ')
user = Str(comment).find_between('data-user-login', '>').find_between('"', '"')
date_str = Str(comment).find_between('<time class="comment__date-time comment__date-time_published', 'time>').find_between('>', '<')
vote = Str(comment).find_between('<div class="voting-wjt', '</div>').find_between('<span', 'span>').find_between('>', '<')
date = dateparser.parse(date_str)
csv_data = "{},{},{},{}".format(user, date, vote, body)
comments_list.append(csv_data)
( ):
xxxxxxx,2019-02-06 11:50:00,0, ?
xxxxxxx-02-24 16:15:00,+1, .
xxxxxxx,2019-02-23 20:15:00,–5,
, , , , . , .
, , — , . , youtube — , , , . , , , -. , … , , .. , . , , . «» — , __ . , ., disclaimer. , , . , . , ,
.
, . , 2019 ( ).
448533 , csv-
288. , .
, .

, . « »,
10 18 ;) , , .
:

-
— , , ( ).
, , , — , .
, . , ,
25000 .
, , :

, .
5% 60% . 10% — 74% ( , , 450). , , ( , ).
, — . , , , .
, 5 VoXXXX (3377 ), 0xdXXXXX (3286 ), strXXXX (3043 ), AmXXXX (2897 ) khXXXX (2748 ).
, 5 amXXXX (1395 , +3231/-309), tvXXXX (1544 , +3231/-97), WhuXXXX (921 , +2288/-13), MTXXXX (1328 , +1383/-7) amaXXXX (736 , +1340/-16).
(
)
Milfgard Boomburum. , , , .
.
siXX (473 , 699 ), khXX (1915 , 573 ) nicXXXXX (456 , 487 ). , .
«» vladXXXX (55 , 84 , 0 ), ekoXXXX (77 , 92 , 1 ) iMXXXX (225 , 205 , 12 ).
, , .
, . , « » . - , .
.