рд╣рдо рдЦреЛрдЬ рдЗрдВрдЬрди, рд╢реБрд░реБрдЖрдд рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреЗ рд╣реИрдВред
рдЖрдорддреМрд░ рдкрд░ рд╣рдо рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред
рдФрд░ рдХреБрдЫ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЗрд╕рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдФрд░ рдРрд╕рд╛ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ рд╣реБрдЖ рдХрд┐ рдХреБрдЫ рдЧреНрд░рд╛рд╣рдХ рдЦреЛрдЬ рдЗрдВрдЬрди рд╕реЗ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдкрд░ рдЖрддреЗ рд╣реИрдВред
(рдпрджрд┐ рдХреЛрдИ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдФрд░ рдореВрд▓реНрдп рд╕рдореБрдЪреНрдЪрдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ред)рдФрд░ рдЦреЛрдЬ рдЗрдВрдЬрди рдореЗрдВ рдЖрдкрдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЖрдорддреМрд░ рдкрд░ рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдЙрдирд╕реЗ рдЖрдВрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рд╣рдорд╛рд░реЗ рдЙрдкрдХрд░рдг рдореЗрдВ 2 рднрд╛рдЧ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗ:
- рдХрд░реНрд▓ рдФрд░ lxml рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ
- Django рдкрд░ рдкреНрд░рдмрдВрдзрди рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕
рд╣рдо рдЕрдиреБрд░реЛрдз рдкрд░ рд╣рдорд╛рд░реА рд╕реНрдерд┐рддрд┐ yandex.ru рд╕реЗ рд╕реАрдЦрддреЗ рд╣реИрдВред
рдореИрдВ рддреБрд░рдВрдд рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореВрд▓ рдмрд╛рддреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╣рдо рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рдПрдВрдЧреЗ, рдЬрд┐рд╕реЗ рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕реБрдзрд╛рд░реЗрдВрдЧреЗредрд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ html рджреНрд╡рд╛рд░рд╛ url рджреЗрддрд╛ рд╣реИред
рд╣рдо рдкреЗрдЬрд░реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЗрдЬ рд▓реЛрдб рдХрд░реЗрдВрдЧреЗред
import pycurl c = pycurl.Curl()
Url рд╕реЗрдЯ рдХрд░реЗрдВ рд╣рдо рд▓реЛрдб рдХрд░реЗрдВрдЧреЗ
url = 'ya.ru' c.setopt(pycurl.URL, url)
рдкреГрд╖реНрда рдХреЗ рд╢рд░реАрд░ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд░реНрд▓ рдПрдХ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ html рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИред
рд╣рдо рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рдореЗрдВ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЗрдЦрди () рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдФрд░ рд╣рдо рдЧреЗрдЯрд╡рд▓реНрдпреВ () рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕рд╕реЗ рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
from StringIO import StringIO c.bodyio = StringIO() c.setopt(pycurl.WRITEFUNCTION, c.bodyio.write) c.get_body = c.bodyio.getvalue
рдмрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рдХрд░реНрд▓ рдХреЛ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рддрд░рд╣ рдмрдирд╛рдПрдВрдЧреЗ, рдЯрд╛рдЗрдордЖрдЙрдЯ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдЬреЗрдВрдЯ, рд╣реЗрдбрд░ рдЖрджрд┐ рд▓рд┐рдЦреЗрдВрдЧреЗред
c.setopt(pycurl.FOLLOWLOCATION, 1) c.setopt(pycurl.MAXREDIRS, 5) c.setopt(pycurl.CONNECTTIMEOUT, 60) c.setopt(pycurl.TIMEOUT, 120) c.setopt(pycurl.NOSIGNAL, 1) c.setopt(pycurl.USERAGENT, 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:13.0) Gecko/20100101 Firefox/13.0') httpheader = [ 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3', 'Accept-Charset:utf-8;q=0.7,*;q=0.5', 'Connection: keep-alive', ] c.setopt(pycurl.HTTPHEADER, httpheader)
рдЕрдм рдкреЗрдЬ рд▓реЛрдб рдХрд░реЗрдВ
c.perform()
рдмрд╕ рдЗрддрдирд╛ рд╣реА, рдкреЗрдЬ рд╣рдорд╛рд░реЗ рд╕рд╛рде рд╣реИ, рд╣рдо html рдкреЗрдЬ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ
print c.get_body()
рддреЛ рд╣рдо рд╣реЗрдбрд░ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ
print c.getinfo(pycurl.HTTP_CODE)
рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ 200 рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓реА, рддреЛ рд╣рдо рдЗрд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддреЗ рд╣реИрдВ, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓реЗрдВрдЧреЗ
if c.getinfo(pycurl.HTTP_CODE) != 200: raise Exception('HTTP code is %s' % c.getinfo(pycurl.HTTP_CODE))
рд╕рдм рдХреБрдЫ рд▓рдкреЗрдЯреЗрдВ рдЬреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛, рдЕрдВрдд рдореЗрдВ рд╣рдореЗрдВ рдорд┐рд▓рд╛
import pycurl try: from cStringIO import StringIO except ImportError: from StringIO import StringIO def get_page(url, *args, **kargs): c = pycurl.Curl() c.setopt(pycurl.URL, url) c.bodyio = StringIO() c.setopt(pycurl.WRITEFUNCTION, c.bodyio.write) c.get_body = c.bodyio.getvalue c.headio = StringIO() c.setopt(pycurl.HEADERFUNCTION, c.headio.write) c.get_head = c.headio.getvalue c.setopt(pycurl.FOLLOWLOCATION, 1) c.setopt(pycurl.MAXREDIRS, 5) c.setopt(pycurl.CONNECTTIMEOUT, 60) c.setopt(pycurl.TIMEOUT, 120) c.setopt(pycurl.NOSIGNAL, 1) c.setopt(pycurl.USERAGENT, 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:13.0) Gecko/20100101 Firefox/13.0') httpheader = [ 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3', 'Accept-Charset:utf-8;q=0.7,*;q=0.5', 'Connection: keep-alive', ] c.setopt(pycurl.HTTPHEADER, httpheader) c.perform() if c.getinfo(pycurl.HTTP_CODE) != 200: raise Exception('HTTP code is %s' % c.getinfo(pycurl.HTTP_CODE)) return c.get_body()
рдлрд╝рдВрдХреНрд╢рди рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
print get_page('ya.ru')
рд╣рдо рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрджреЛрдВ рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯреЛрдВ рдХреА рд╕реВрдЪреА рдкреГрд╖реНрда рдкрд░ рд╣реИ
рд╣рдо рдПрдХ рдЦреЛрдЬ рдХреНрд╡реЗрд░реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗ,
yandex.ru/yandsearch рдкрд░ рд╣рдореЗрдВ 3 GET рдкреИрд░рд╛рдореАрдЯрд░ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ,
'text'-request,' lr'- рдЦреЛрдЬ рдХреНрд╖реЗрддреНрд░, 'рдкреГрд╖реНрда' рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкреГрд╖реНрда
import urllib import urlparse key='' region=213 page=1 params = ['http', 'yandex.ru', '/yandsearch', '', '', ''] params[4] = urllib.urlencode({ 'text':key, 'lr':region, 'p':page-1, }) url = urlparse.urlunparse(params)
рдпреВрдЖрд░рдПрд▓ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЬрд╛рдВрдЪреЗрдВ
print url
рдкрд┐рдЫрд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдкреГрд╖реНрда рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
html = get_page(url)
рдЕрдм рд╣рдо рдЗрд╕реЗ lxml рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдбреЛрдо рдореЙрдбрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрд╛рд░реНрд╕ рдХрд░реЗрдВрдЧреЗ
import lxml.html site_list = [] for h2 in lxml.html.fromstring(html).find_class('b-serp-item__title'): b = h2.find_class('b-serp-item__number') if len(b): num = b[0].text.strip() url = h2.find_class('b-serp-item__title-link')[0].attrib['href'] site = urlparse.urlparse(url).hostname site_list.append((num, site, url))
рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд▓рд┐рдЦреВрдВрдЧрд╛ рдХрд┐ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ
lxml.html.fromstring (html) - html рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рд╣рдо html рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ
.find_class ('b-serp-item__title') - рд╣рдо рдЙрди рд╕рднреА рдЯреИрдЧ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╡рд░реНрдЧ 'b-serp-item__title' рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рд╣рдореЗрдВ рдЙрди H2 рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИ, рдЬрд┐рдирдореЗрдВ рдЙрди рдкрджреЛрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдирдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реВрдк рдХрд░рддреЗ рд╣реИрдВред
b = h2.find_class ('b-serp-item__number') - рдкрд╛рдпрд╛ рдЧрдпрд╛ H2 рдЯреИрдЧ рдХреЗ рдЕрдВрджрд░ рддрддреНрд╡ b рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕рд╛рдЗрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рд╕рдВрдЦреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдпрджрд┐ рдЖрдк рдкрд╛рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рд╕рд╛рдЗрдЯ рдХреЗ b [0] .xtxt (рдкрдЯреНрдЯреА) рдФрд░ рд▓рд╛рдЗрди c url рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВред рд╕рд╛рдЗрдЯ
urlparse.urlparse (url) .hostname - рдбреЛрдореЗрди рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдкрд░рд┐рдгрд╛рдореА рд╕реВрдЪреА рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
print site_list
рдФрд░ рд╣рдо рдПрдХ рдлрдВрдХреНрд╢рди рдореЗрдВ рдирд┐рдХрд▓реА рд╣рд░ рдЪреАрдЬ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВрдЧреЗ
def site_list(key, region=213, page=1): params = ['http', 'yandex.ru', '/yandsearch', '', '', ''] params[4] = urllib.urlencode({ 'text':key, 'lr':region, 'p':page-1, }) url = urlparse.urlunparse(params) html = get_page(url) site_list = [] for h2 in lxml.html.fromstring(html).find_class('b-serp-item__title'): b = h2.find_class('b-serp-item__number') if len(b): num = b[0].text.strip() url = h2.find_class('b-serp-item__title-link')[0].attrib['href'] site = urlparse.urlparse(url).hostname site_list.append((num, site, url)) return site_list
рдлрд╝рдВрдХреНрд╢рди рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
print site_list('', 213, 2)
рд╕рд╛рдЗрдЯреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ
рд╣рдореЗрдВ рдПрдХ рд╕рд╣рд╛рдпрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ 'wwwред' рд╕рд╛рдЗрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ
def cut_www(site): if site.startswith('www.'): site = site[4:] return site
рд╕рд╛рдЗрдЯреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░реЗрдВ
site = 'habrahabr.ru' for pos, s, url in site_list('python', 213, 1): if cut_www(s) == site: print pos, url
рд╣рдореНрдо, 'рдЕрдЬрдЧрд░' рджреНрд╡рд╛рд░рд╛ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рдкрд╣рд▓реЗ рдкреГрд╖реНрда рдкрд░ рдХреЛрдИ рд╣рдм рдирд╣реАрдВ рд╣реИ, рдЖрдЗрдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдкрд╛рд╢ рдореЗрдВ рд▓реЗрдХрд░ рдЬрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ,
рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдПрдХ рд╕реАрдорд╛ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, max_position - рд╣рдо рдХрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВрдЧреЗ,
рдЙрд╕реА рд╕рдордп, рд╣рдо рдЗрд╕реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВ, рдФрд░ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рд╣рдо рдХреЛрдИ рднреА рдирд╣реАрдВ, рдХреЛрдИ рдирд╣реАрдВ рд▓реМрдЯрд╛рдПрдЧрд╛
def site_position(site, key, region=213, max_position=10): for page in range(1,int(math.ceil(max_position/10.0))+1): site = cut_www(site) for pos, s, url in site_list(key, region, page): if cut_www(s) == site: return pos, url return None, None
рдЪреЗрдХ
print site_position('habrahabr.ru', 'python', 213, 100)
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдореЗрдВ рдЕрдкрдирд╛ рд╕реНрдерд╛рди рдорд┐рд▓ рдЧрдпрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рд▓рд┐рдЦреЗрдВ, рдХреНрдпрд╛ рдпрд╣ рд╡рд┐рд╖рдп рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдФрд░ рдХреНрдпрд╛ рдореБрдЭреЗ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП?
рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдХреНрдпрд╛ рд▓рд┐рдЦрдирд╛ рд╣реИ?
- рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЯреЗрдмрд▓реЗрдЯ рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд╕рд╛рде рдПрдХ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдПрдВ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреНрд░реЛрди рдкрд░ рд▓рдЯрдХрд╛рдПрдВ
- рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреИрдкреНрдЪрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдФрд░ рд╡рд┐рд╢реЗрд╖ рдПрдкреАрдЖрдИ рджреЛрдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░реЗрдВ
- рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛-рдзрд╛рдЧрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдВ
- рдПрдкреАрдЖрдИ рдпрд╛ рдореВрд▓реНрдп рдкреНрд░рдмрдВрдзрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдФрд░ рднрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ