-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
96 lines (85 loc) · 2.88 KB
/
main.py
File metadata and controls
96 lines (85 loc) · 2.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import random
import requests
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/')
@app.route('/index.html')
def index():
return render_template('index.html')
@app.route('/parsing.html')
def parsing():
return render_template('parsing.html')
@app.route('/resume.html')
def resume():
return render_template('resume.html')
@app.route('/result.html', methods=['POST', 'GET'])
def result():
# city = request.form['city']
# vac = request.form['vac']
# print(city, vac)
# return render_template('result.html', city=city, vac=vac)
area = request.form['city']
vac_text = request.form['vac']
url = 'https://api.hh.ru/vacancies'
params = {'text': f'NAME:({vac_text})', 'area': area}
result = requests.get(url, params=params).json()
total_pages = result['pages']
vac_json = []
# Расчёт средней заработной платы
for i in range(total_pages):
url = 'https://api.hh.ru/vacancies'
params = {'text': f'NAME:({vac_text})', 'area': area, 'page': i, 'per_page': 20}
vac_json.append(requests.get(url, params=params).json())
all_salary = 0
all_vac = 0
for i in vac_json:
items = i['items']
count_vac = 0
summ_salary = 0
for j in items:
if j['salary'] is not None:
s = j['salary']
if s['from'] is not None:
count_vac += 1
summ_salary += s['from']
all_salary += summ_salary
all_vac += count_vac
average_salary = all_salary // all_vac
# Поиск 5 случайных навыков
all_skills = []
for i in vac_json:
items = i['items']
for j in items:
if j['snippet'] is not None:
k = j['snippet']
if k['requirement'] is not None:
all_skills.append(k['requirement'])
list_temp = []
for i in all_skills:
text = i.find("Требования:")
if text is not None:
list_temp.append(i[i.find("Требования: ") + 1:])
skills = []
for i in list_temp:
temp = str(i).split('.')
for j in temp:
if len(j) < 5:
temp.remove(j)
temp.pop()
for k in temp:
skills.append(k)
for i in skills:
text = str(i).split()
if len(text) > 5:
if text[0] == 'Опыт':
skills.remove(i)
random_skills = random.sample(skills, 5)
skill_1 = random_skills[0]
skill_2 = random_skills[1]
skill_3 = random_skills[2]
skill_4 = random_skills[3]
skill_5 = random_skills[4]
return render_template('result.html', salary=average_salary, skill_1=skill_1, skill_2=skill_2, skill_3=skill_3,
skill_4=skill_4, skill_5=skill_5)
if __name__ == '__main__':
app.run(debug=True)