рд╣реЗрдбрд╣рдВрдЯрд░ рдиреМрдХрд░реА рд╡рд┐рд╢реНрд▓реЗрд╖рдг


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


рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдкреНрд░рд╕рд┐рджреНрдз рд╣реЗрдбрд╣рдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЗрд╕ рдордИ рдХреЗ рд▓рд┐рдП рдиреМрдХрд░рд┐рдпрд╛рдВ рдПрдХрддреНрд░ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЧрдИрдВред рдХреЗрд╡рд▓ рдПрдХ рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдПрдкреАрдЖрдИ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред


рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣


рд╣реЗрдбрд╣рдВрдЯрд░ рдПрдкреАрдЖрдИ рдореЗрдВ рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рд▓реЗрдЦрди рд╣реИ, рдЬреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ ред User-Agent рд╕реНрдерд╛рдкрд┐рдд рдХреЗ рд╕рд╛рде рдбреЛрдореЗрди https://api.hh.ru/ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдзрд┐рдорд╛рдирддрдГ _/_ (__) User-Agent рдЕрдиреНрдп рд╕рдВрд╕реНрдХрд░рдг рдХрднреА User-Agent рдХрднреА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рд╕рд░реНрд╡рд░ рдХреЛ рдХреБрдЫ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рд▓реМрдЯрд╛рдПрдЧрд╛ред )ред


рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рддрд░реНрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ CURL рдФрд░ jq рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдмреИрд╢ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдХреБрдЫ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред


рдкреГрд╖реНрда рдкрд░ рдЕрдВрдХ рд▓рдЧрд╛рдирд╛


рд╡рд┐рднрд┐рдиреНрди рдорд╛рдкрджрдВрдбреЛрдВ рджреНрд╡рд╛рд░рд╛ рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ GET /vacancies ред


 curl -A 'irenica (https://irenica.com/)' 'https://api.hh.ru/vacancies' 

рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЙрди рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рдирдХреЗ рд▓рд┐рдП per_page рдкреИрд░рд╛рдореАрдЯрд░ рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 20 рдФрд░ рдЕрдзрд┐рдХрддрдо 100)ред рдЖрдк page рдкреИрд░рд╛рдореАрдЯрд░ (рдирдВрдмрд░ 0 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреГрд╖реНрда рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд▓реМрдЯрд╛рдП рдЧрдП рд╕реЗрд╡рд╛ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ pages рдлрд╝реАрд▓реНрдб рдкрд░рд┐рдгрд╛рдо рдХреЗ рдкреГрд╖реНрдареЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрдВрдЧреЗред


рдЗрд╕рдХреЗ рд╕рд╛рде, рдЖрдк рд╕рднреА рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


 declare -ii=0 while true; do declare url="https://api.hh.ru/vacancies?per_page=100&page=$i" declare page="$(curl -A 'irenica (https://irenica.com/)' "$url")" #  $page ((i++)) declare -i totalCount=$(echo "$page" | jq '.pages') if ((i >= totalCount)); then break fi done 

рдкреВрд░реНрдг рдиреМрдХрд░реА рдбреЗрдЯрд╛


рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рдиреМрдХрд░реА рдбреЗрдЯрд╛ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрддрд╛ рд╣реИред рд╕рдм рдХреБрдЫ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдлреЙрд░реНрдо GET /vacancies/id_ рдХреЗ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


рдЖрдВрд╢рд┐рдХ рдиреМрдХрд░реА рдбреЗрдЯрд╛ рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ items рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЙрдирд╕реЗ рд╡реИрдХреЗрдВрд╕реА рдЖрдИрдбреА рдПрдХрддреНрд░ рдХрд░реЗрдВрдЧреЗ:


 declare vacanciesIds="$(echo "$page" | jq -r '.items[].id')" 

рдлрд┐рд░ рд╣рдо рд╕рдВрдмрдВрдзрд┐рдд рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдкрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдкреВрд░реА рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ:


 for vacancyId in $vacanciesIds; do declare url="https://api.hh.ru/vacancies/$vacancyId" declare vacancy="$(curl -A 'irenica (https://irenica.com/)' "$url")" #  $vacancy done 

рдЦреЛрдЬ рд╕реАрдорд╛ рдмрд╛рдпрдкрд╛рд╕


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


рдЗрд╕ рд╕реАрдорд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рд╛рде рдЖрдпрд╛ред рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рдЙрд╕ рд╕рдордп рдХреА рд▓рдВрдмрд╛рдИ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдмреНрдпрд╛рдЬ рдХреА рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ( date_from рдФрд░ date_to рдорд╛рдзреНрдпрдо рд╕реЗ, рдЬреЛ рдЖрдИрдПрд╕рдУ 8601 рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рддрд╛рд░реАрдЦ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ)ред рдЖрдк рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЕрдВрддрд░рд╛рд▓ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рд╕рднреА рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдЖрдЦрд┐рд░рдХрд╛рд░, рдХрдо рд╕рдордп рдЕрдВрддрд░рд╛рд▓, рдЖрдкрдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВред


рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдкрд┐рдЫрд▓реЗ рдорд╣реАрдиреЗ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЕрдм рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред


рд╕рдордп рдХреА рдЕрд╡рдзрд┐ рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╛рдж рдХреЛ рдпреВрдирд┐рдХреНрд╕ рд╕рдордп рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:


 declare -i startTime=$(date -d '-1 month' +%s) declare -i endTime=$(date -d now +%s) while ((startTime <= endTime)); do declare -i intervalEnd=$((startTime + 60*60)) declare startTimeIso="$(date -d @$startTime +%FT%T)" declare intervalEndIso="$(date -d @$intervalEnd +%FT%T)" # ... declare url="https://api.hh.ru/vacancies?per_page=100&page=$i&date_from=$startTimeIso&date_to=$intervalEndIso" # ... startTime=$intervalEnd done 

рд╡реЗрддрди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг


рдЖрдВрдХрдбрд╝реЛрдВ рдХреЛ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕рдореВрд╣рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдмреИрд╢ рдкрд░, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред


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


рд╡реЗрддрди рдХрд╛ рдХрд╛рдВрдЯрд╛


рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡реЗрддрди рджреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдиреНрдпреВрдирддрдо рдФрд░ рдЕрдзрд┐рдХрддрдо, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред


рдЪреВрдВрдХрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдирдВрдмрд░ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдореИрдВрдиреЗ рдирд┐рдЪрд▓реА рд╕реАрдорд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рдХреЗрд╡рд▓ рдЕрдЧрд░ рдпрд╣ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИ, рддреЛ рдКрдкрд░реА рдПрдХред


 salary = None if vacancy['salary']: if vacancy['salary']['to']: salary = vacancy['salary']['to'] if vacancy['salary']['from']: salary = vacancy['salary']['from'] 

рдореБрджреНрд░рд╛ рджрд░реЗрдВ


рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╡реЗрддрди рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдореБрджреНрд░рд╛рдУрдВ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрдирдХреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рджрд░реЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рд╣реЗрдбрд╣рдВрдЯрд░ рдПрдкреАрдЖрдИ рдореЗрдВ рдПрдХ GET /dictionaries рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдореВрд▓реНрдп рд╣реИрдВред рд╡рд┐рдирд┐рдордп рджрд░реЗрдВ currency рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЬрд╛рддреА рд╣реИрдВред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреА рд╕реВрдЪреА рдХреЛ рдПрдХ рд╕рд╣рдпреЛрдЧреА рд╕рд░рдгреА рдореЗрдВ рд░рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдВ рдХреБрдВрдЬреА рдореБрджреНрд░рд╛ рдХрд╛ рдЕрдХреНрд╖рд░ рдХреЛрдб рд╣реИ:


 currencies = {} dictionaries = requests.get('https://api.hh.ru/dictionaries').json() for currency in dictionaries['currency']: currencies[currency['code']] = currency['rate'] 

рдЕрдм, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреМрд░рд╛рди, рд╕рднреА рд╡реЗрддрдиреЛрдВ рдХреЛ рдПрдХ рдореБрджреНрд░рд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛:


 salary /= currencies[vacancy['salary']['currency']] 

рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЖрдпрдХрд░ рд▓реЗрдЦрд╛


рдХреБрдЫ рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдореЗрдВ, рд╡реЗрддрди рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЖрдпрдХрд░ рднреБрдЧрддрд╛рди рд╕реЗ рдкрд╣рд▓реЗ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреБрдЫ рдореЗрдВ - рдмрд╛рдж рдореЗрдВред gross рдХреНрд╖реЗрддреНрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЛрд▓рддрд╛ рд╣реИ: рдпрд╣ рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ true рд╣реИ рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ false рд╣реИред


рдореИрдВрдиреЗ рдХрд░ рдХреЗ рдмрд╛рдж рд╕рднреА рд╡реЗрддрди рдХреЛ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛:


 if vacancy['salary']['gross']: salary -= salary * 0.13 

рдкрд░рд┐рдгрд╛рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг


рдФрд░ рдЕрдм рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред


рд░рд┐рдореЛрдЯ рдХрд╛ рдХрд╛рдо


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


рдФрд░ рдпрд╣ рдХрд╛рдлреА рдЕрдЬреАрдм рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рд╡реНрдпрд╡рд╕рд╛рдпреЛрдВ рдФрд░ рдХрдИ рдХрдВрдкрдирд┐рдпреЛрдВ рдореЗрдВ (рдХрд╛рд░реНрдпреЛрдВ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░) рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╢рд╛рд╢реНрд╡рдд рддрд░реНрдХ рд╣реИред


рдирд╛рдорд╡реЗрддрди рдФрд╕рддрд╡реЗрддрди рдиреНрдпреВрдирддрдорд╡реЗрддрди рдЕрдзрд┐рдХрддрдорд╕рдВрдЦреНрдпрд╛
рдШрд░ рдХрд╛ рд╕реНрдЯрд╛рдл112,5361097713000019
рд╕реВрдЪрдирд╛ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА, рдЗрдВрдЯрд░рдиреЗрдЯ, рджреВрд░рд╕рдВрдЪрд╛рд░55,22510003000002828
рд╢реАрд░реНрд╖ рдкреНрд░рдмрдВрдзрди47,687947410000023
рдХрдЪреНрдЪреЗ рдорд╛рд▓ рдХреА рдирд┐рдХрд╛рд╕реА46,5792000090,89880
рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕реЗрд╡рд╛4543911,87469,6009
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реЗрд╡рд╛, рдЧреИрд░-рд▓рд╛рднрдХрд╛рд░реА рд╕рдВрдЧрдарди44,911200009000019
рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдХрд░реНрдордЪрд╛рд░реА44,218949967,86037
рдЙрддреНрдкрд╛рджрди42,3882372100000236
рдирд┐рд░реНрдорд╛рдг, рдЕрдЪрд▓ рд╕рдВрдкрддреНрддрд┐39,89670110000329
рдкрд░рд┐рд╡рд╣рди, рд░рд╕рдж376629490100000223


рд╡рд┐рдХрд▓рд╛рдВрдЧрддрд╛ рдЖрд╡реЗрджрдХ


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


рдЖрдк рдореЗрдВ рд╕реЗ рдХрдИ рд╡рд┐рдХрд▓рд╛рдВрдЧ рд▓реЛрдЧреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рднреА, рдФрд░ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ рдЙрдирдХреЗ рд▓рд┐рдП рдиреМрдХрд░реА рдкрд╛рдирд╛ рдХрд┐рддрдирд╛ рдХрдард┐рди рдерд╛, рдФрд░ рд╡реЗ рдХреНрдпрд╛ рдЧрд┐рди рд╕рдХрддреЗ рдереЗред


рдирд╛рдорд╡реЗрддрди рдФрд╕рддрд╡реЗрддрди рдиреНрдпреВрдирддрдорд╡реЗрддрди рдЕрдзрд┐рдХрддрдорд╕рдВрдЦреНрдпрд╛
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реЗрд╡рд╛, рдЧреИрд░-рд▓рд╛рднрдХрд╛рд░реА рд╕рдВрдЧрдарди69,6758700900008
рд╢реАрд░реНрд╖ рдкреНрд░рдмрдВрдзрди48,7053000082,42515
рд╕реВрдЪрдирд╛ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА, рдЗрдВрдЯрд░рдиреЗрдЯ, рджреВрд░рд╕рдВрдЪрд╛рд░45,32143502000001050
рд╡рд┐рдЬреНрдЮрд╛рди, рд╢рд┐рдХреНрд╖рд╛45056315890000376
рдЦрд░реАрдж43,59115000800009
рдирд┐рд░реНрдорд╛рдг, рдЕрдЪрд▓ рд╕рдВрдкрддреНрддрд┐42,14822250000210
рдЙрддреНрдкрд╛рджрди40,96910000130,500189
рд▓реЗрдЦрд╛рдВрдХрди, рдкреНрд░рдмрдВрдзрди рд▓реЗрдЦрд╛рдВрдХрди, рдЙрджреНрдпрдо рд╡рд┐рддреНрдд36,3872610113,100125
рдХрд╛рдиреВрди34,3082610160000131
рд╕реБрд░рдХреНрд╖рд╛334142290000178


рдЫрд╛рддреНрд░реЛрдВ


рд╣рдо рд╕рднреА рдХреБрдЫ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН рдиреМрдХрд░реА рдХреА рдЦреЛрдЬ рдХреЗ рд╕рд╛рде, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдиреБрднрд╡ рдХреЗред рдореИрдВрдиреЗ рдРрд╕реЗ рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЦреБрд▓реЗ рдкрджреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред


рддреНрд╡рд░рд┐рдд рд░реЛрдЬрдЧрд╛рд░ рдХреЗ рд▓рд┐рдП рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЙрддреНрд╕рд╛рд╣рдЬрдирдХ рд╣реИред рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЕрдзрд┐рдХрддрдо рд╡реЗрддрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдХрд┐рд╕реА рддрд░рд╣ рдФрд╕рдд рдЖрдВрдХрдбрд╝реЛрдВ рдкрд░ рднреА рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВред


рдирд╛рдорд╡реЗрддрди рдФрд╕рддрд╡реЗрддрди рдиреНрдпреВрдирддрдорд╡реЗрддрди рдЕрдзрд┐рдХрддрдорд╕рдВрдЦреНрдпрд╛
рдкрд░рд╛рдорд░реНрд╢626011500221,8502504
рдирд┐рд░реНрдорд╛рдг, рдЕрдЪрд▓ рд╕рдВрдкрддреНрддрд┐55,85520949,9896455
рд╢реАрд░реНрд╖ рдкреНрд░рдмрдВрдзрди50,82611310400000111
рдХрдЪреНрдЪреЗ рдорд╛рд▓ рдХреА рдирд┐рдХрд╛рд╕реА38,1928000100000328
рд╕реБрд░рдХреНрд╖рд╛34,61739541000005844
рджрд╡рд╛, рдлрд╛рд░реНрдореЗрд╕реА3447545020000011776
рдкрд░рд┐рд╡рд╣рди, рд░рд╕рдж336005001500008000
рд╡рд┐рдЬреНрдЮрд╛рди, рд╢рд┐рдХреНрд╖рд╛31,4261100124,5101660
рдмрд┐рдХреНрд░реА30,444135000052,566
рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕реЗрд╡рд╛30360826480000381


рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рд╢реАрд░реНрд╖


рдФрд░ рдЕрдм рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк: рдХрд┐рд╕реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдмрд┐рдирд╛ рдХрд┐рд╕реА рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд╕рднреА рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдЫрд╛рдБрдЯреЗ рдЧрдПред


рдмреЗрд╢рдХ, рдпрд╣ рд╢реАрд░реНрд╖ рдкреНрд░рдмрдВрдзрди рд╣реИред рдЗрд╕ рдкрд░ рдХрд┐рд╕реЗ рд╢рдХ рд╣реЛрдЧрд╛ред


рдПрдХ рдЙрддреНрд╕реБрдХ рддрдереНрдп: рдпрджрд┐ рдЖрдк рд╕рднреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдФрд╕рдд рд╡реЗрддрди рдкрд░ рдзреНрдпрд╛рди рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЗрддрдирд╛ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред


рдирд╛рдорд╡реЗрддрди рдФрд╕рддрд╡реЗрддрди рдиреНрдпреВрдирддрдорд╡реЗрддрди рдЕрдзрд┐рдХрддрдорд╕рдВрдЦреНрдпрд╛
рд╢реАрд░реНрд╖ рдкреНрд░рдмрдВрдзрди78,78915020000002408
рдХрдЪреНрдЪреЗ рдорд╛рд▓ рдХреА рдирд┐рдХрд╛рд╕реА61,69980001800002302
рдкрд░рд╛рдорд░реНрд╢59,79715005000003762
рд╕реВрдЪрдирд╛ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА, рдЗрдВрдЯрд░рдиреЗрдЯ, рджреВрд░рд╕рдВрдЪрд╛рд░5277726684,80425900
рдирд┐рд░реНрдорд╛рдг, рдЕрдЪрд▓ рд╕рдВрдкрддреНрддрд┐48,58720949,98933,229
рдЙрддреНрдкрд╛рджрди420071261,00027,269
рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдХрд░реНрдордЪрд╛рд░реА41,2032520000043,079
рдХрд╛рд░ рдХрд╛ рдХрд╛рд░реЛрдмрд╛рд░3855520824,2549269
рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕реЗрд╡рд╛38,412251800002390
рдЦрд░реАрдж37,84650261,0002658


рд╕рдлрд╛рдИ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реНрддреНрд░реА


рдФрд░ рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ: 5 рд╕рд╛рд▓ рддрдХ рдЕрдзреНрдпрдпрди рдХреНрдпреЛрдВ рдХрд░реЗрдВ, рдЕрдЧрд░ рдЖрдк рд╕рд┐рд░реНрдл рдХрд╛рд░реНрдпрд╛рд▓рдп рдзреЛ рд╕рдХрддреЗ рд╣реИрдВ? рдиреАрдЪреЗ "рдХреНрд▓реАрдирд░ *" рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рд╢реАрд░реНрд╖ рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред


рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдХрдИ рдХрд╛рд░реНрдпрд╛рд▓рдпреЛрдВ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ рдФрд░ рд╢рд╛рдо рдХреЛ рд╕рдлрд╛рдИ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдШрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрддреЗ рд╣реИрдВ? рддреЛ рдЖрдк рдХрд╛рдлреА рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХреЗ рд╕реЗ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЗрд╕реЗ рдПрдХ рдЬреАрд╡рди рд╣реИрдХ рдорд╛рдиреЗрдВрдЧреЗред


рдирд╛рдорд╡реЗрддрди рдФрд╕рддрд╡реЗрддрди рдиреНрдпреВрдирддрдорд╡реЗрддрди рдЕрдзрд┐рдХрддрдорд╕рдВрдЦреНрдпрд╛
рд╢реАрд░реНрд╖ рдкреНрд░рдмрдВрдзрди6300040000870008
рд╡рд┐рдкрдгрди, рд╡рд┐рдЬреНрдЮрд╛рдкрди, рдкреАрдЖрд░5000050000500006
рдХрдЪреНрдЪреЗ рдорд╛рд▓ рдХреА рдирд┐рдХрд╛рд╕реА45,00045,00045,0003
рдорд╛рдирд╡ рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдмрдВрдзрди, рдкреНрд░рд╢рд┐рдХреНрд╖рдг33,24679088700058
рд▓реЗрдЦрд╛рдВрдХрди, рдкреНрд░рдмрдВрдзрди рд▓реЗрдЦрд╛рдВрдХрди, рдЙрджреНрдпрдо рд╡рд┐рддреНрдд32000300003500010
рд╕реБрд░рдХреНрд╖рд╛31,5072000070,0006
рдмрд┐рдХреНрд░реА29,696473755000159
рдирд┐рд░реНрдорд╛рдг, рдЕрдЪрд▓ рд╕рдВрдкрддреНрддрд┐29,0244138000073
рдкрд░рд┐рд╡рд╣рди, рд░рд╕рдж24,9871099045,00026
рдХрд╛рд░ рдХрд╛ рдХрд╛рд░реЛрдмрд╛рд░24,465712445,00061


рд╢реАрд░реНрд╖ рд╢рд╣рд░


рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рд╢рд╣рд░ рджреНрд╡рд╛рд░рд╛ рдЦреБрд▓реА рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЙрддреНрд╕реБрдХ рдФрд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╕реНрдерд┐рддрд┐ рднреА рд╣реИрдВред


рдирд╛рдорд╕рдВрдЦреНрдпрд╛
рдорд╛рд╕реНрдХреЛ31137
рд╕реЗрдВрдЯ рдкреАрдЯрд░реНрд╕рдмрд░реНрдЧ11745
рдорд┐рдиреНрд╕реНрдХ7608
рдЕрд▓реНрдорд╛рдЯреА4386
рдХреАрд╡3398
Ekaterinburg3182
рдиреЛрд╡реЛрд╕рд┐рдмрд┐рд░реНрд╕реНрдХ3097
рдХрдЬрд╝рд╛рди3066
рдКрдлрд╝рд╛2980
рдирд┐рдЬрд╝рдиреА рдиреЛрд╡рдЧреЛрд░реЛрдб2876


рдХреЛрд╖


рд▓реЗрдЦ рдХреЗ рд╕рднреА рдХреЛрдб, рд╕реБрдзрд╛рд░ рдФрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

Source: https://habr.com/ru/post/hi418281/


All Articles