рд╣рд╛рдп рд╣рдорд░ред
рдкрд┐рдЫрд▓реЗ рднрд╛рдЧ рдореЗрдВ , рд╕рд╛рдЗрдЯ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд░реНрдЧреЛрдВ рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ, рдпрд╣ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ - рд▓реЗрдЦреЛрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рдХреНрдпрд╛ рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдПрдХ рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХрд╛ рднреА рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдХрд░реВрдВрдЧрд╛ред

рдбреЗрдЯрд╛ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рдирд┐рдХрд▓рд╛, рдЯрд┐рдкреНрдкрдгреАрдХрд╛рд░реЛрдВ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ "рдорд┐рдиреА-рд░реЗрдЯрд┐рдВрдЧ" рдмрдирд╛рдирд╛ рднреА рд╕рдВрднрд╡ рдерд╛ред рдХрдЯ рдХреЗ рдиреАрдЪреЗ рдЬрд╛рд░реА рд╣реИред
рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣
рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, 2019 рд╡рд░реНрд╖, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рд╕реАрдПрд╕рд╡реА рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдЦреЛрдВ рдХреА рд╕реВрдЪреА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореБрдЭреЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛ рдЪреБрдХреА рд╣реИред рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рд▓реЗрдЦ рд╕реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ, рд╕реМрднрд╛рдЧреНрдп рд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП, рд╡реЗ рд╡рд╣рд╛рдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ, рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдХрд┐рд╕реА рд▓реЗрдЦ рд╕реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:
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 ).
, , .
, . , ┬л ┬╗ . - , .
.