{"id":216001,"date":"2014-03-16T17:47:03","date_gmt":"2014-03-16T13:47:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=216001"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=216001","title":{"rendered":"<span class=\"post_title\">\u041f\u0440\u043e\u0441\u0438\u043c \u0412\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435 \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u043f\u0440\u043e \u043f\u0435\u043b\u044c\u043c\u0435\u0448\u043a\u0438<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u0435\u043d\u044f \u0432\u043d\u043e\u0432\u044c \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043b\u0438 \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443 \u043e \u0432\u0430\u0436\u043d\u043e\u0439 \u0432\u0435\u0449\u0438 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f. \u041d\u043e \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u044f \u0438 \u043f\u0440\u043e \u0441\u0432\u043e\u0438-\u0442\u043e \u0434\u0435\u043b\u0430 \u0437\u0430\u0431\u044b\u0432\u0430\u044e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e, \u0430 \u0443\u0436 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e \u0434\u0435\u043b\u0430 \u043a\u043e\u0433\u043e-\u0442\u043e \u0435\u0449\u0451? \u0418 \u0442\u0443\u0442 \u043c\u043d\u0435 \u0441\u043d\u043e\u0432\u0430 \u043f\u043e\u043c\u043e\u0433 \u043c\u043e\u0439 \u043b\u044e\u0431\u0438\u043c\u044b\u0439 python. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/469\/958\/ad2\/469958ad262e52a3ba83147bf2293dfa.png\"\/><\/p>\n<p>  \u0427\u0435\u0441\u0442\u043d\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u043e\u0431\u044b\u0447\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b-\u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043b\u043a\u0438, \u0447\u0442\u043e \u0432 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0435, \u0447\u0442\u043e \u0432 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435, \u043c\u0435\u043d\u044f \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u0438 \u0438\u0437-\u0437\u0430 \u0438\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u043c\u043a\u0430\u043c\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 + \u043e\u043d\u0438 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u0440\u0435\u0448\u0430\u043b\u0438 \u0437\u0430\u0434\u0430\u0447\u0443, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u043e \u0447\u0451\u043c-\u0442\u043e, \u043d\u043e \u043d\u0435 \u043c\u043d\u0435. \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0448\u043b\u043e \u043a\u0430\u043a-\u0442\u043e \u0441\u0430\u043c\u043e-\u0441\u043e\u0431\u043e\u0439. \u0410 \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u044c \u043a\u0430\u043a \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435? \u0415\u0441\u043b\u0438 \u044f \u043d\u0435 \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u043c\u0435\u0441\u0442\u0435 \u2014 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u0441\u0432\u0438\u0431\u0440\u0438\u0440\u0443\u0435\u0442 \u0441\u0432\u043e\u0438\u043c \u043f\u0443\u0448-\u0430\u043f \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435\u043c, \u0430 \u0437\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u043c \u0432\u0441\u0451 \u0435\u0449\u0451 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u0435\u0435. \u0426\u0435\u043b\u044c \u2014 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0447\u0438\u0442\u0430\u0435\u0442 \u043c\u043e\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u0438 \u0438 \u0432 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u043a\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u043e \u0442\u043e\u043c, \u0447\u0442\u043e, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f. \u041d\u0443 \u0440\u0430\u0437 \u0438\u0434\u0435\u044f \u043f\u0440\u0438\u0448\u043b\u0430, \u044f \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u044e \u043a \u0435\u0451 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h4>\u0421\u0442\u0430\u0440\u0442\u0443\u0435\u043c<\/h4>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u0443\u0447\u0438\u043c \u043d\u0430\u0448 \u0441\u043a\u0440\u0438\u043f\u0442 \u043b\u043e\u0433\u0438\u043d\u0438\u0442\u044c\u0441\u044f \u0432 \u044d\u0442\u0443 \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0435\u0442\u044c. \u0412\u0441\u0451 \u043f\u0440\u043e\u0441\u0442\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 mechanize.Browser()<\/p>\n<pre><code>br = mechanize.Browser() br.set_handle_equiv(True) br.set_handle_redirect(True) br.set_handle_robots(False) br.open('https:\/\/vk.com\/')  br.select_form(nr=0) br.form['email'] = name br.form['pass'] = password br.submit() <\/code><\/pre>\n<p>  \u0412\u0443\u0430\u043b\u044f! \u041c\u044b \u0437\u0430\u0448\u043b\u0438 \u043d\u0430 \u0441\u0432\u043e\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443 \u0432\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435. \u0422\u0435\u043f\u0435\u0440\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u043d\u0443\u044e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0432\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430 \u2014 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u043c\u0443 \u0441\u0435\u0431\u0435(\u043a\u0442\u043e \u043d\u0435 \u0432 \u043a\u0443\u0440\u0441\u0435, \u043a\u0430\u043a \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u2014 \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 <a href=\"http:\/\/vk.com\/im?sel=id\">vk.com\/im?sel=id<\/a>, \u0433\u0434\u0435 id \u2014 \u0412\u0430\u0448 id \u0432 \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438. \u0412 \u043c\u043e\u0451\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u0431\u044b\u043b 38591009). <\/p>\n<p>  \u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0435\u043c \u044d\u0442\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u0441\u0432\u043e\u0439 id(\u043e\u043d \u0435\u0441\u0442\u044c \u0432 \u043a\u043e\u0434\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, \u043f\u0440\u0438\u0447\u0451\u043c \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437). <\/p>\n<pre><code>self_username = 'username'  def get_self_page_id(br):     br.open('https:\/\/vk.com\/'+self_username)     return br.response().read().split('&lt;form action=&quot;\/wall')[1].split('?')[0]  def check_messages(br):     br.open('https:\/\/vk.com\/im?sel='+get_self_page_id(br))     response = br.response().read() <\/code><\/pre>\n<p>  \u041c\u044b \u0432\u0438\u0434\u0438\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 20 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0438\u0437 \u0442\u0435\u0445, \u0447\u0442\u043e \u0441\u0430\u043c\u0438 \u0436\u0435 \u0441\u0435\u0431\u0435 \u0438 \u043e\u0442\u0441\u044b\u043b\u0430\u043b\u0438. \u041d\u0430\u043c \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u041a\u0430\u0436\u0434\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u0435\u0442 \u0441\u0432\u043e\u0439 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439(\u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f) \u043d\u043e\u043c\u0435\u0440, \u043d\u0430\u043c \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e. \u0414\u0430\u043b\u044c\u0448\u0435 \u043d\u0443\u0436\u043d\u043e \u0441 \u043d\u0438\u043c\u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0438\u0433\u0440\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u0432\u0441\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u043e\u0442\u0434\u0435\u043b\u0438\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u043e\u0442 \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430 \u0438 \u043d\u0430\u0443\u0447\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0435, \u0430 \u043a\u0430\u043a\u0438\u0435 \u0443\u0436\u0435 \u043d\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b. <\/p>\n<pre><code>first_start = True msg_numbers = [] #\u043d\u043e\u043c\u0435\u0440\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439. \u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f, \u0431\u0443\u0434\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u043e\u043c\u0435\u0440\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439, \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438.  def play_with_messages(br, response):     global first_start     all_messages = response.split('class=&quot;messages bl_cont&quot;&gt;')[1].split('&lt;div id=&quot;mfoot&quot;')[0].split('&lt;a name=&quot;msg')     all_numbers = []     global msg_numbers     for msg in all_messages:         if msg != all_messages[0]:             msg_num = msg.split('&quot;&gt;')[0]             all_numbers.append(msg_num)     if first_start:         msg_numbers = all_numbers         first_start = False     new_numbers = set(all_numbers) - set(all_numbers).intersection(set(msg_numbers))     for num in new_numbers:         reply_to_message(br, get_message_text(response, num)) #\u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0442\u0432\u0435\u0442\u0430 \u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435. \u041e\u043f\u0438\u0448\u0443 \u0435\u0451 \u043f\u043e\u0437\u0436\u0435.     msg_numbers = all_numbers <\/code><\/pre>\n<p>  <\/p>\n<h4>\u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0434\u0438\u0430\u043b\u043e\u0433<\/h4>\n<p>  \u041e\u0442\u043b\u0438\u0447\u043d\u043e. \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0437\u043d\u0430\u0435\u043c \u043a\u0430\u043a\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u043b\u0438 \u043c\u043d\u0435 \u043e\u0442 \u043c\u0435\u043d\u044f \u043d\u0435\u0434\u0430\u0432\u043d\u043e. \u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0438\u0445 \u043f\u043e\u043d\u044f\u0442\u044c \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0432 \u043e\u0442\u0432\u0435\u0442. \u0417\u0430\u0439\u043c\u0451\u043c\u0441\u044f \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0435\u0440\u0432\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439:<\/p>\n<pre><code>def reply_to_message(br, message):     if message.find('\u043d\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c') == -1:         print 'nothing'     else:         print 'I obey, my lord'         ms_words = message.split(' ')         user = 'self'         time_s = datetime.datetime.now().strftime('%H:%M')         day_s = str(datetime.date.today())         msg = 'something went wrong'         times = message.split('|')         if len(times) == 1:             times = '1'         else:             times = int(times[1])         if ms_words[1] == '\u0432':             user = 'self'             time_s = ms_words[2]             msg = message.split('\u0442\u0435\u043a\u0441\u0442 ')[1].split('|')[0]         elif ms_words[1] == '\u0434\u0435\u043d\u044c':             user = 'self'             time_s = ms_words[4]             day_s = ms_words[2]             msg = message.split('\u0442\u0435\u043a\u0441\u0442 ')[1].split('|')[0]         elif ms_words[2] == '\u0432':             user = get_page_id(br, ms_words[1])             time_s = ms_words[3]             msg = message.split('\u0442\u0435\u043a\u0441\u0442 ')[1].split('|')[0]         elif ms_words[2] == '\u0434\u0435\u043d\u044c':             user = get_page_id(br, ms_words[1])             time_s = ms_words[5]             day_s = ms_words[3]             msg = message.split('\u0442\u0435\u043a\u0441\u0442 ')[1].split('|')[0]          let_it_do(user, time_s, day_s, msg, times) #\u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u043d\u0430\u0435\u0442, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u0438\u0437 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438. <\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u044f \u0441\u043f\u043b\u0438\u0447\u0443 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043d\u043e\u0448\u0443 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0412 \u043e\u0431\u0449\u0435\u043c, \u043e\u0442\u0432\u0435\u0447\u0430\u044e \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u00ab\u043a\u043e\u043c\u0443 \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c?\u00bb, \u00ab\u0447\u0442\u043e \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c?\u00bb, \u00ab\u043a\u043e\u0433\u0434\u0430 \u0438 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c?\u00bb. \u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\/\u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u044b\u0431\u0440\u0430\u043b \u043d\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0439: \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c [\u043a\u043e\u043c\u0443] [\u0434\u0430\u0442\u0430] \u0432 [\u0432\u0440\u0435\u043c\u044f] \u0442\u0435\u043a\u0441\u0442 [\u0442\u0435\u043a\u0441\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f]|[\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437]. \u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440:\u00ab\u043d\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c tenoclock \u0432 14:10 \u0442\u0435\u043a\u0441\u0442 \u041e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0442\u0435\u0441\u0442 | 4\u00bb<br \/>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/911\/684\/073\/911684073d3d4497841f816eca8858bc.png\"\/><br \/>  <i>\u0422\u0430\u043a \u043d\u0430\u0448 \u0440\u043e\u0431\u043e\u0442 \u0432\u0438\u0434\u0438\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0434\u0438\u0430\u043b\u043e\u0433<\/i><\/p>\n<p>  \u0414\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u0438\u0439 \u044f \u0432\u044b\u0431\u0440\u0430\u043b \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 sqlite3. \u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0443 \u043d\u0430\u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f, \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u043d\u0430 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0431\u0435\u0437 \u0443\u0441\u0438\u043b\u0438\u0439. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043a \u0437\u0430\u043f\u0438\u0441\u0438 \u0437\u0430\u0434\u0430\u043d\u0438\u0439 \u0432 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u043e \u043f\u0443\u0442\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044f \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u0442\u044b \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u044d\u0442\u043e \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code>def valid_time(time_text):     try:         datetime.datetime.strptime(time_text, '%H:%M')         return True     except ValueError:         send_message(br_fake, get_self_page_id(br), '\u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438')         return False  def valid_date(date_text):     try:         datetime.datetime.strptime(date_text, '%Y-%m-%d')         return True     except ValueError:         send_message(br_fake, get_self_page_id(br), '\u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0434\u0430\u0442\u044b')         return False  def let_it_do(user, time_s, day_s, message, times):     if valid_time(time_s) and valid_date(day_s):         c = conn.cursor()         c.execute(&quot;INSERT INTO reminder (time, date, user, message, times) VALUES (?,?,?,?,?)&quot;,(time_s, day_s, user, message, str(times)))         conn.commit() <\/code><\/pre>\n<p>  <\/p>\n<h4>\u0424\u0438\u043d\u0438\u0448\u043d\u0430\u044f \u043f\u0440\u044f\u043c\u0430\u044f<\/h4>\n<p>  \u041c\u044b \u0443\u0436\u0435 \u0431\u043b\u0438\u0437\u043a\u0438 \u043a \u0444\u0438\u043d\u0430\u043b\u0443! \u0417\u0430\u0434\u0430\u043d\u0438\u044f \u043d\u0430\u0448 \u0440\u043e\u0431\u043e\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043b, \u0441\u0435\u0431\u0435 \u0438\u0445 \u0437\u0430\u043f\u0438\u0441\u0430\u043b. \u041f\u043e \u0441\u0443\u0442\u0438, \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c. \u0422\u0443\u0442 \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u044c\u044e. \u0421\u043a\u0440\u0438\u043f\u0442 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0447\u0438\u0442\u0430\u0435\u0442 \u043c\u043e\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043a\u043e \u043c\u043d\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u0435\u0441\u043b\u0438 \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u0445 \u0432 \u044d\u0442\u043e\u0442-\u0436\u0435 \u0434\u0438\u0430\u043b\u043e\u0433, \u0442\u043e \u0432 \u043d\u0435\u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0445 \u0443 \u043c\u0435\u043d\u044f \u043d\u0438\u0447\u0435\u0433\u043e \u0432\u0438\u0441\u0435\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442. \u0410 \u044d\u0442\u043e \u043f\u043b\u043e\u0445\u043e. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0440\u0435\u0448\u0438\u043b\u0430\u0441\u044c \u0437\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u0444\u044d\u0439\u043a\u043e\u0432\u043e\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f. \u0422\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u043b\u0438 \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u043c\u043d\u0435 \u043e \u0447\u0451\u043c-\u0442\u043e, \u043e\u043d \u043f\u0438\u0448\u0435\u0442 \u0441\u043e \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430, \u0435\u0441\u043b\u0438 \u0436\u0435 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u043a\u043e\u043c\u0443-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u043c\u0443, \u0442\u043e \u043e\u043d \u043f\u0438\u0448\u0435\u0442 \u043e\u0442 \u043c\u043e\u0435\u0433\u043e \u0438\u043c\u0435\u043d\u0438, \u0434\u0430\u0431\u044b \u043b\u044e\u0434\u0435\u0439 \u043d\u0435 \u043f\u0443\u0433\u0430\u0442\u044c.<\/p>\n<p>  \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u043e\u0442 \u043f\u0430\u0440\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u0437\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438\u0437 \u0431\u0430\u0437\u044b \u0438 \u043e\u0442\u0441\u044b\u043b\u043a\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439:<\/p>\n<pre><code>def check_answers():     conn = sqlite3.connect('reminder.db')     rows = get_rows(conn)     for row in rows:         print row[5]         c = conn.cursor()         if row[3] == 'self':             pass             send_message(br_fake, get_self_page_id(br), row[4].encode('utf-8'))         else:             send_message(br, row[3], row[4].encode('utf-8'))         if row[5] == '1' or row[5] == 1:             c.execute(&quot;DELETE FROM reminder WHERE id = ?;&quot;, str(row[0]))         else:             time_s = (datetime.datetime.now()+datetime.timedelta(seconds=60)).strftime('%H:%M')             num = int(row[5]) - 1             c.execute(&quot;UPDATE reminder SET time = ?, times = ? WHERE id = ?&quot;,(time_s, str(num), row[0]))         conn.commit()  def send_message(br, id, message):     br.open('https:\/\/vk.com\/im?sel='+id)     br.select_form(nr=0)     br.form['message'] = message     br.submit() <\/code><\/pre>\n<p>  \u041d\u0443 \u0438 \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u0441\u044b\u043b\u043a\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u044c \u0438\u0437 \u0431\u0430\u0437\u044b, \u0435\u0441\u043b\u0438 \u043e\u043d\u0430 \u043d\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0430(\u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u0435\u0449\u0451 \u0441\u043a\u043e\u043b\u044c\u043a\u043e-\u0442\u043e \u0440\u0430\u0437, \u0442\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f \u043d\u0430 \u043c\u0438\u043d\u0443\u0442\u0443 \u0432\u043f\u0435\u0440\u0451\u0434 \u0438 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043e\u043a)<\/p>\n<h4>\u041f\u043e\u0434\u0432\u043e\u0434\u0438\u043c \u0438\u0442\u043e\u0433\u0438<\/h4>\n<p>  \u0422\u0430\u043a \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 200 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430, \u0440\u0435\u0448\u0430\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u0439 \u0441\u0435\u0431\u0435 \u0438 \u0434\u0440\u0443\u0433\u0438\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0435\u0442\u044c \u0432\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435. \u0426\u0435\u043b\u0438\u043a\u043e\u043c \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c <a href=\"http:\/\/yadi.sk\/d\/Nay4zFs3KcsSJ\">\u043e\u0442\u0441\u044e\u0434\u0430<\/a>. \u0415\u0441\u043b\u0438 \u043e\u043d \u0432\u0434\u0440\u0443\u0433 \u043a\u043e\u043c\u0443-\u0442\u043e \u043d\u0443\u0436\u0435\u043d, \u0442\u043e \u0441\u043e\u0432\u0435\u0442\u0443\u044e \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0438\u0437 \u043a\u0443\u0441\u043a\u043e\u0432 \u0441\u0442\u0430\u0442\u044c\u0438, \u0437\u0434\u0435\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u0435\u0449\u0438. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0448\u0442\u0443\u043a\u0438 \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u0437\u0430 \u043a\u0430\u0434\u0440\u043e\u043c. \u042f \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b \u0435\u0433\u043e \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0441\u0432\u043e\u0438\u0445 vps. \u041f\u043e\u043a\u0430, \u0432\u0440\u043e\u0434\u0435 \u043a\u0430\u043a, \u0443\u0434\u043e\u0431\u043d\u043e.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/b90\/f23\/3ff\/b90f233ffa1140fd92d3f29078a71e88.png\"\/><br \/>  <i>\u0420\u043e\u0431\u043e\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043c\u043d\u0435, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c. \u0412 \u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435! \u0414\u043e\u0436\u0438\u043b\u0438<\/i><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439 \u0441\u044e\u0434\u0430 \u0442\u0430\u043a-\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439, \u0435\u0441\u043b\u0438 \u0441\u043a\u0440\u0438\u043f\u0442 \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u043d\u0430 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435. \u041f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u0442 \u0436\u0435 \u0442\u043e\u0440\u0440\u0435\u043d\u0442 \u043d\u0430 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440. \u0410 \u0442\u0430\u043a, \u0432 \u0446\u0435\u043b\u043e\u043c, \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f\u043c\u0438 \u0434\u043b\u044f \u0432\u0441\u0435\u0445, \u043a\u0442\u043e \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442(\u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u043e\u0442\u0430, \u043a\u0430\u043a \u0432, \u0443\u0436\u0435 \u0437\u0430\u0431\u044b\u0442\u044b\u0445 \u0441\u0435\u0439\u0447\u0430\u0441, irc \u0438 icq) \u041d\u043e \u044d\u0442\u0438 \u0432\u0435\u0449\u0438 \u0443\u0436\u0435 \u043d\u0435 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435. \u0411\u0443\u0434\u0443 \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0434, \u0435\u0441\u043b\u0438 \u043a\u043e\u043c\u0443-\u0442\u043e \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c.<\/p>\n<p>  \u0412\u0441\u0435\u043c \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435.    \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/216001\/\"> http:\/\/habrahabr.ru\/post\/216001\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u0435\u043d\u044f \u0432\u043d\u043e\u0432\u044c \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043b\u0438 \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443 \u043e \u0432\u0430\u0436\u043d\u043e\u0439 \u0432\u0435\u0449\u0438 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f. \u041d\u043e \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u044f \u0438 \u043f\u0440\u043e \u0441\u0432\u043e\u0438-\u0442\u043e \u0434\u0435\u043b\u0430 \u0437\u0430\u0431\u044b\u0432\u0430\u044e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e, \u0430 \u0443\u0436 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e \u0434\u0435\u043b\u0430 \u043a\u043e\u0433\u043e-\u0442\u043e \u0435\u0449\u0451? \u0418 \u0442\u0443\u0442 \u043c\u043d\u0435 \u0441\u043d\u043e\u0432\u0430 \u043f\u043e\u043c\u043e\u0433 \u043c\u043e\u0439 \u043b\u044e\u0431\u0438\u043c\u044b\u0439 python. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/469\/958\/ad2\/469958ad262e52a3ba83147bf2293dfa.png\"\/><\/p>\n<p>  \u0427\u0435\u0441\u0442\u043d\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u043e\u0431\u044b\u0447\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b-\u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043b\u043a\u0438, \u0447\u0442\u043e \u0432 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0435, \u0447\u0442\u043e \u0432 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435, \u043c\u0435\u043d\u044f \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u0438 \u0438\u0437-\u0437\u0430 \u0438\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u043c\u043a\u0430\u043c\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 + \u043e\u043d\u0438 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u0440\u0435\u0448\u0430\u043b\u0438 \u0437\u0430\u0434\u0430\u0447\u0443, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u043e \u0447\u0451\u043c-\u0442\u043e, \u043d\u043e \u043d\u0435 \u043c\u043d\u0435. \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0448\u043b\u043e \u043a\u0430\u043a-\u0442\u043e \u0441\u0430\u043c\u043e-\u0441\u043e\u0431\u043e\u0439. \u0410 \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u044c \u043a\u0430\u043a \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435? \u0415\u0441\u043b\u0438 \u044f \u043d\u0435 \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u043c\u0435\u0441\u0442\u0435 \u2014 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u0441\u0432\u0438\u0431\u0440\u0438\u0440\u0443\u0435\u0442 \u0441\u0432\u043e\u0438\u043c \u043f\u0443\u0448-\u0430\u043f \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435\u043c, \u0430 \u0437\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u043c \u0432\u0441\u0451 \u0435\u0449\u0451 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u0435\u0435. \u0426\u0435\u043b\u044c \u2014 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0447\u0438\u0442\u0430\u0435\u0442 \u043c\u043e\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u0438 \u0438 \u0432 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u043a\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u043e \u0442\u043e\u043c, \u0447\u0442\u043e, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f. \u041d\u0443 \u0440\u0430\u0437 \u0438\u0434\u0435\u044f \u043f\u0440\u0438\u0448\u043b\u0430, \u044f \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u044e \u043a \u0435\u0451 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-216001","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/216001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=216001"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/216001\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=216001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=216001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=216001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}