рд╣рдо рдПрдкреА рдХреЗ рдмрд┐рдирд╛ hh.ru рдкрд░ рд╡рдХреАрд▓реЛрдВ рдХреЗ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ

Hh.ru рдПрдХ рдЕрдЪреНрдЫреА рд╕рд╛рдЗрдЯ рд╣реИ рдЬрд┐рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдмрдорд┐рд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдкрд░ рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕рдореГрджреНрдз рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрднреА-рдХрднреА рдирд┐рдпреЛрдХреНрддрд╛ рд╕реЗ рдЗрд╕реЗ рджреЗрдЦрдирд╛ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрддрд╛ рд╣реИ:

  • рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдПрдХ рд▓рдХреНрд╖рд┐рдд рдЕрдиреБрд░реЛрдз рдкрд░ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ?
  • рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рд░реА рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрдирд╛ рд░рд┐рдЬреНрдпреВрдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ
  • рд╕рдордп рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ "sags" рдХреЗ рд░реВрдк рдореЗрдВ, рдорд┐рдиреА-рд╕рд╛рдВрдЦреНрдпрд┐рдХреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдереА рд╡рдХреАрд▓реЛрдВ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ hh рдХреА рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рдПрдкреАрдЖрдИ рд╣реИ рдФрд░ рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИ, рдЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдХрдИ рд╕рд╛рдорд╛рдЬрд┐рдХ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд╣реБрдВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдкреАрдЖрдИ рддрдХ рдкрд╣реБрдВрдЪ рдмрдирд╛рдИ рдЧрдИ рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ - рдЦрд╛рддреЗ рдХреЗ рд╡реЗрдм-рдЦрд╛рддреЗ рдореЗрдВ рдЖрд╡реЗрджрди рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрдВрдЬреАрдХрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдирд┐рдпреЛрдХреНрддрд╛ hh.ru/emper рдкрд░ :



рд╡рд╣рд╛рдБ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдирд┐рдпреЛрдХреНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕рдВрдЧрдарди рдХреА рд╕рдВрдмрджреНрдзрддрд╛ (рд╡реЗ рдЖрдкрдХреЛ рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд▓рд┐рдВрдХ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ: dev.hh.ru
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдПрдкреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрднреА рддрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдЪрдПрдЪ рдкрд░ рдЖрд╡реЗрджрди рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрдиред Ph рдХреЛ 20 рдХрд╛рд░реНрдпрджрд┐рд╡рд╕реЛрдВ рддрдХ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рд▓рдВрдмрд╛ред

рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЕрдЬрдЧрд░ рдФрд░ рд╕реЗрд▓реЗрдирд┐рдпрдо рдврд╛рдВрдЪреЗ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдмрд┐рдирд╛ рдПрдкреА рдХреЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред

рд╕реЗрд▓реЗрдирд┐рдпрдо рдореЗрдВ рд╣рдо рдирд┐рдпреЛрдХреНрддрд╛ рдХреА рдУрд░ рд╕реЗ url рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдж рд╣реЛрдВрдЧреЗ:

  • рдореБрдЦреНрдп рд╢рдмреНрдж: рд╡рдХреАрд▓;
  • рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдХреНрд╖реЗрддреНрд░: рдХреЛрдИ рднреА;
  • рдХреНрд╖реЗрддреНрд░: рдорд╛рд╕реНрдХреЛ,
  • рд╡реЗрддрди: рд╡реЗрддрди рдХреЗ рдмрд┐рдирд╛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рди рджрд┐рдЦрд╛рдПрдВ;
  • рд╢рд┐рдХреНрд╖рд╛: рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛;
  • рдирд╛рдЧрд░рд┐рдХрддрд╛: рдХреЛрдИ рднреА;
  • рд╡рд░реНрдХ рдкрд░рдорд┐рдЯ: рдХреЛрдИ рднреА;
  • рдЖрдпреБ рдФрд░ рдлреЛрдЯреЛ: рдХреЗрд╡рд▓ рдлреЛрдЯреЛ рдХреЗ рд╕рд╛рде;
  • рд▓рд┐рдВрдЧ: рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛;
  • рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ: рджрд┐рдирд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╢реЛрдзрд┐рдд;
  • рдЖрдЙрдЯрдкреБрдЯ: рдПрдХ рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП;
  • рдкреГрд╖реНрда рдкрд░ рджрд┐рдЦрд╛рдПрдБ: 100 рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВред

рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдХрдИ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдВрдЧреЗ, рдХреЗрд╡рд▓ 5,000 рд░рд┐рдЬреНрдпреВрдореЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗред рдПрдХ рдореБрдХреНрдд рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдирд┐рдпреЛрдХреНрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрдВрдзред

рдХреЛрдб рдореЗрдВ, рдпрд╣ рд╣реИ:

рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░реЗрдВ рдФрд░ рд╕рд╛рдЗрдЯ рджрд░реНрдЬ рдХрд░реЗрдВ
from selenium import webdriver
import time,csv
browser = webdriver.Firefox()
time.sleep (5) #   -  
browser.get ('https://hh.ru/employer')
time.sleep (5)


рд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг
a = browser.find_element_by_css_selector('.bloko-icon_cancel')
a.click()
time.sleep (2)
a=browser.find_element_by_css_selector('div.supernova-navi-item:nth-child(6) > a:nth-child(1)')
a.click()
time.sleep (3)    
emailElem = browser.find_element_by_css_selector('.HH-AuthForm-Login')
emailElem.click()
time.sleep (1)
emailElem.send_keys('example@yandex.ru')    
time.sleep (1)
passElem = browser.find_element_by_css_selector('.HH-AuthForm-Password')
passElem.click()
time.sleep (1)
passElem.send_keys('password')
passElem.submit()
time.sleep (3)


example@yandex.ru рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб - рдирд┐рдпреЛрдХреНрддрд╛ рдХреЗ рдИрдореЗрд▓ рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ, рдкрд╛рд╕рд╡рд░реНрдб - рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рдеред

Csv рд▓рд┐рдЦ рдмреНрд▓реЙрдХ
def write_csv(data):
    with open('hh.csv','a',encoding='utf8') as f:
        writer=csv.writer(f)
        writer.writerow((data['name'],
                         data['age'],
                         data['salary'],                         
                         data['stag'],
                         #data['post_job_place'],
                         data['resume_link'],
                         data['photo_big']
                         #data['job_places'],
                         #data['education'],
                         #data['address'],
                         #data['update']
                         )) 


рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдмреНрд▓реЙрдХ
def resume_get():    
    # 
    a=browser.find_elements_by_class_name('resume-search-item__content-wrapper') # 100 
    #len(a)
    #resume-search-item__description-content -  
    for i in a:
        b=i.find_element_by_class_name('resume-search-item__header')
        name=b.find_element_by_class_name('resume-search-item__name').text # 
        age=b.find_element_by_class_name('resume-search-item__fullname').text # 52 
        salary=b.find_element_by_class_name('resume-search-item__compensation').text # 40000 .
        stag=i.find_elements_by_class_name('resume-search-item__description-content')[0].text # '7   8 '
        resume_link=i.find_element_by_class_name('resume-search-item__name').get_attribute('href') #  
        #post_job_place=i.find_elements_by_class_name('resume-search-item__description-content')[1].text #.  
        #job_places=b.find_elements_by_class_name('resume-search-item__description-content')[1:3] # 
        #education=i.find_elements_by_class_name('resume-search-item__description-content')[-1].text # 
        #photo_small=browser.find_element_by_class_name('resume-userpic').find_element_by_class_name('resume-userpic__photo').get_attribute('src') #   
        try:
            photo_big=i.find_element_by_class_name('bloko-modal-content').find_element_by_tag_name('img').get_attribute('src') #  -
        except:
            photo_big=''

     
        #update=i.find_element_by_class_name('output__addition').text #  
        data={    'name':name,
                  'age':age,
                  'salary':salary,
                  'stag':stag,                  
                  #'post_job_place':post_job_place,
                  'resume_link':resume_link,
                  'photo_big':photo_big
                  #'job_places':job_places,
                  #'education':education,
                  #'address':address,
                  #'update':update
                  }
        #print(data)
        write_csv(data)


рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХреЗ рд╕рд╛рде 50 рдкреГрд╖реНрда рдкреГрд╖реНрда рдкрд░ рдЕрдВрдХ рд▓рдЧрд╛рдирд╛ рдпрд╛рддреНрд░рд╛
resume_get()
x=0

while x!=50:
    browser.get (url+'&page='+str(x+1))
    time.sleep(7)
    resume_get()
    x+=1


* рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдЯреБрдХрдбрд╝реЗ рдЬреЛ рдЪрдпрди рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдорд┐рд▓рддреА рд╣реИ:



рдЕрдкрдирд╛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХреИрд╕реЗ рдХрд░реЗрдВ? рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреА рдЙрдореНрд░ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ред

рдПрди-рдЯреА рдЕрд╡рдзрд┐ рдХреЗ рдмрд╛рдж рд╕рд╛рд░рд╛рдВрд╢ рдХрд╣рд╛рдБ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛? рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдПрдирдПрдЪрдЯреА рд╕рдордп рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреНрд░рд╛рдЗрд╡ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдлрд┐рд░ рд╕реЗ рдвреВрдВрдвреЗрдВред рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЪрд╛рд░реНрдЯ рдореЗрдВ рд░рд┐рдЬреНрдпреВрдореЗ рдЧрд┐рд░рд╛ рд╣реИ, рд╡рд╣ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред

рдЕрдВрдд рдореЗрдВ, рд╡рдХреАрд▓реЛрдВ рдХреЗ рд░рд┐рдЬреНрдпреВрдореЗ рдкрд░ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЧреНрд░рд╛рдл-рд╕реНрдЯреИрдЯрд┐рд╕реНрдЯрд┐рдХрдо, "рдорд╕реНрдХреЛрд╡рд╛рдЗрдЯреНрд╕" (2000 рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ)ред





psред "рдХреЙрд░реНрдкреЛрд░реЗрдЯ + рд╡рдХреАрд▓" рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░ рдкреНрд░рддрд┐ рджрд┐рди 2000 рдкрджреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ рд╕реИрдЧреНрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред

рдкреНрд░реЛрдЧреНрд░рд╛рдо - рдПрдХреНрд╕реЗрд▓ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
-рдбрд╛рдЙрдирд▓реЛрдб

All Articles