Untitled
unknown
python
2 years ago
1.6 kB
4
Indexable
import requests def find_rub_salary(salary_from, salary_to, salary_currency): if salary_currency != "RUR" and salary_currency != "rub": return None if salary_from and salary_to: return (salary_from + salary_to) / 2 elif salary_to: return salary_to * 0.8 elif salary_from: return salary_from * 1.2 def get_salary_statistic(): salaries = [] #language=["Python","Java","Go","Javascript","C#","C","PHP","Ruby"] url = 'https://api.hh.ru/vacancies' payload = {'User-Agent': 'Elizabethsweden@yandex.ru', "professional_role": "96", "area":"1", "period":"30", #"text": f"Программист{language}", "text": "Программист Python", "only_with_salary": True } response = requests.get(url, params=payload) response.raise_for_status() vacancy_response = response.json() for vacancy in vacancy_response["items"]: vacancy_salary = vacancy["salary"] salary_from = vacancy_salary["from"] salary_to = vacancy_salary["to"] salary_currency = vacancy_salary["currency"] salary = find_rub_salary(salary_from, salary_to, salary_currency) if salary: salaries.append(salary) vacancies_found = vacancy_response["found"] vacancies_processed = len(salaries) if vacancies_processed: average_salary = sum(salaries) // vacancies_processed return { "vacancies_found": vacancies_found, "vacancies_processed": vacancies_processed, "average_salary": average_salary } get_salary_statistic()
Editor is loading...