рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзрд┐рдд рдорд╛рдВрдЧ рдХреМрд╢рд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


рдЖрдЬ рд╡реЗрдм рдкрд░ рдЖрдк рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ, рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рдлреНрд░реЗрдорд╡рд░реНрдХ, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдЕрдиреНрдп рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ - рдЪрд▓реЛ рдЙрдиреНрд╣реЗрдВ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ рдХрд╣рддреЗ рд╣реИрдВред рдЗрди рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓рдЧрд╛рддрд╛рд░ рдмрдврд╝ рд░рд╣реА рд╣реИ рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЬреЛ рдХрд┐рд╕реА рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЙрд╕реЗ рдХрд┐рд╕реА рднреА рдкреНрд░рдореБрдЦ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рд╕реЗ рдЬреБрдбрд╝реЗ рдХреБрдЫ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕реНрдЯреИрдХ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


рдпрд╣ рдкрд╣рд▓рд╛ рд╕рд╡рд╛рд▓ рдЙрдард╛рддрд╛ рд╣реИ - рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рддрдХрдиреАрдХ рдХреА рдорд╛рдВрдЧ рдХреИрд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ: рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреА рдорд╛рдВрдЧ рд╣реИ рдЬрдм рдирд┐рдпреЛрдХреНрддрд╛ рдПрдХ рд░рд┐рдХреНрддрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╕рдордп рдиреМрдХрд░реА рдЖрд╡реЗрджрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрджрд┐ 100 рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрд╛ рдЬрд╛рдП, рддреЛ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдП рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ 60 рдмрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдмреА - 20 рдмрд╛рд░, рд╣рдо рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдП рдХреЛ рдмреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ ред


рджреВрд╕рд░рд╛ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рдореБрдЦ рддрдХрдиреАрдХреЛрдВ рдХреЛ рдХреНрдпрд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ?


рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд░ рд▓реЗрдЦреЛрдВ рдореЗрдВ рдмрд╣реБрдд рд░реБрдЪрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЛ рдкреНрд░рдореБрдЦ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдиреЗрдВрдЧреЗред


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


рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо hh.ru рдкреЛрд░реНрдЯрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рдХреА рдорд╣рд╛рди рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдФрд░ рд╣реЗрдбрд╣рдВрдЯрд░ рдПрдкреАрдЖрдИ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рдХрд╛рд░рдгред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдкрд╛рдпрдерди 3.4 рд╣реИред


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



рдиреМрдХрд░реА рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рд╣реЛ рд░рд╣реА рд╣реИ


рдкрд╛рдпрдерди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдиреБрд░реЛрдз рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:


import requests import json l = "Python" params = {"text": " " + l, "search_field": "name", "area": 2, "period": 30, "page": 0} r = requests.get("https://api.hh.ru/vacancies", params=params) jr = json.loads(r.text) 

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдорд┐рд▓рддрд╛ рд╣реИ:


  • рдкреЗрдЬ: рдХреНрд▓рд╛рд╕ 'рдЗрдВрдЯ'
  • рд╕рдореВрд╣: рд╡рд░реНрдЧ 'рдХреЛрдИ рдирд╣реАрдВ'
  • per_page: рд╡рд░реНрдЧ 'int'
  • alternate_url: рд╡рд░реНрдЧ 'str'
  • рдкрд╛рдпрд╛: рд╡рд░реНрдЧ 'int'
  • рддрд░реНрдХ: рд╡рд░реНрдЧ 'рдХреЛрдИ рдирд╣реАрдВ'
  • рдЖрдЗрдЯрдо: рд╡рд░реНрдЧ 'рд╕реВрдЪреА'
  • рдкреГрд╖реНрда: рдХрдХреНрд╖рд╛ 'int'

рд╣рдо рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ:


  • рдореБрдЦреНрдп рдкреГрд╖реНрда, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдорд╛рдиреЛрдВ рдореЗрдВ рд░рд┐рдХреНрдд рдкрджреЛрдВ рд╡рд╛рд▓реЗ рдкреГрд╖реНрдареЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ,
  • рдЖрдЗрдЯрдо рдХреБрдВрдЬреА, рдЬреЛ рдкреГрд╖реНрда рдкрд░ рд░рд┐рдХреНрддрд┐ рд╕реВрдЪреА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред

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


 from math import ceil import requests from threading import Thread import json class DownloadThread(Thread): def __init__(self, urls, number, res): Thread.__init__(self) self.number = number self.urls = urls self.res = res def run(self): for url in self.urls: resp = requests.get(url) if resp.status_code == requests.codes.ok: self.res.append(json.loads(requests.get(url).text)) else: print("Status code: " + str(resp.status_code)) print(url) def start_dl_threads(urls, th_num, res): threads = [] n = ceil(len(urls) / th_num) for i in range(th_num): t = DownloadThread(urls[i * n: (i + 1) * n], i, res) threads.append(t) t.start() for t in threads: t.join() 

рдбрд╛рдЙрдирд▓реЛрдб рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ 274 рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рд╕реЗрдЯ рдХреА рдбрд╛рдЙрдирд▓реЛрдб рдЧрддрд┐ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж, 10 рдереНрд░реЗрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рдордп рдХреЛ рдХрдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИред



рдХреМрд╢рд▓ рдХреА рд╢рдмреНрджрд╛рд╡рд▓реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдиреМрдХрд░реА рд╡рд┐рд╡рд░рдг рдореЗрдВ рдХреМрд╢рд▓ рдХреА рдЦреЛрдЬ


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


"рдкреНрд░реЛрдЧреНрд░рд╛рдорд░" + ("рдЬрд╛рд╡рд╛", "рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ", "1 рд╕реА", "рдкрд╛рдпрдерди", "рд╕реА", "рд╕реА ++", "рд╕реА #", "рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА"), рдирд╛рдо рдХреЗ рд╕рд╛рде рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЕрджреНрд╡рд┐рддреАрдп рдкреНрд░рдореБрдЦ рдХреМрд╢рд▓ "рдкрд░реНрд▓", "рд░реВрдмреА", "PHP"), рдФрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ - рдкрд╣рд▓реЗ 150 рд╕рдмрд╕реЗ рдЖрдоред


 os.makedirs("data", exist_ok=True) langs = ("Java", "JavaScript", "1", "Python", "C", "C++", "C#", "Objective-C", "Perl", "Ruby", "PHP") par = {"text": "", "search_field": "name", "area": 2, "period": 30} o = {"skills": 1, "urls": 0, "vacs": 0} for l in langs: par["text"] = " " + l with open("data\data_" + par["text"] + str(datetime.date.today()) + ".json", "w") as f: json.dump(get_info_from_hh(par, 10, o), f, indent=4, ensure_ascii=False) data = Counter() for fn in os.listdir("data"): if os.path.isfile("data/" + fn): with open("data/" + fn, "r") as rf: data += Counter(json.load(rf)["skills"]) for item in data.most_common(150): print(item) jsdict = {item[0]: item[0] for item in data.most_common(150)} with open("kw.json", "w") as wf: json.dump(jsdict, wf, indent=4, ensure_ascii=False, sort_keys=True) 

рдиреМрдХрд░реА рд╡рд┐рд╡рд░рдг рдореЗрдВ рдХреАрд╡рд░реНрдб рдХреА рдЦреЛрдЬ рдлрд╝реЙрд░реНрдо рдХреА рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреА рдЧрдИ рдереА:


 pattern = r"(?i)[^--a-zA-Z0-9_|^]%s[^--a-zA-Z0-9_|$]" % kw[item] 

рдЪреВрдБрдХрд┐ рдХреБрдЫ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ рдХрдИ рдФрд░ рдирд┐рдЬреА рд▓реЛрдЧреЛрдВ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рд╣реИрдВ, рдЬрдм sql рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлреЙрд░реНрдо рдХрд╛ рдПрдХ рдореВрд▓реНрдп рдерд╛:


 "sql": "sql|mysql|postgresql|ms sql" 

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


 " ": ".+|.+|design patterns", " ": ".+?|english", " ": ".+?.+?|.+?.+?|neural" 

рдЕрдВрддрд┐рдо рдХреАрд╡рд░реНрдб рдлрд╝рд╛рдЗрд▓ GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ ред


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



рдкрд░рд┐рдгрд╛рдо


"рдкреНрд░реЛрдЧреНрд░рд╛рдорд░" рдХреЗ рд░реВрдк рдореЗрдВ рдРрд╕реА рдЕрдореВрд░реНрдд рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЙрджреНрдпреЛрдЧ рдХреА рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдордЧреНрд░ рддрд╕реНрд╡реАрд░ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╣рд░ рджреВрд╕рд░рд╛ рдирд┐рдпреЛрдХреНрддрд╛ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реЗ рдПрд╕рдХреНрдпреВрдПрд▓ рдЬреНрдЮрд╛рди рдФрд░ рдЕрдВрдЧреНрд░реЗрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рд╣рд░ рддреАрд╕рд░рд╛ рдирд┐рдпреЛрдХреНрддрд╛ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЧрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдорд╛рд▓рд┐рдХ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рд╡реЗрдм рдкрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЙрдиреНрдореБрдЦреАрдХрд░рдг рдХреЗ рдХрд╛рд░рдг, html рдФрд░ css рдорд╛рдВрдЧ рдХреА рдЧрдИ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ рд╣реИрдВред рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ PHP рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдХреБрдЫ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ, рд▓реЗрдХрд┐рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рд╕рдВрднрд╡рддрдГ рдПрдХ рдЯреАрдо рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


рдкрд╣рд▓реЗ рдмреАрд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдЖрдо рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ , рдбреЗрдЯрд╛рдмреЗрд╕ , рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рд╣реИрдВ ред


рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд▓рд┐рдирдХреНрд╕ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред


рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдврд╛рдВрдЪрд╛ рдпрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП, рдпреЗ C # - .net рдФрд░ asp.net рдХреЗ рд▓рд┐рдП рд╕реНрдкреНрд░рд┐рдВрдЧ рдФрд░ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рд╣реИрдВ , рдкрд╛рдпрдерди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рд╢рд╛рдпрдж Django рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ React рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рд╡рд┐рд╢реЗрд╖ рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдирд┐рдВрджрд╛ рдШрд░реЗрд▓реВ рдЬрдЯрд┐рд▓ 1 рд╕реА рд╣реИ ред рдХрдИ рдирд┐рдпреЛрдХреНрддрд╛рдУрдВ рдХреЛ рдХреЗрд╡рд▓ рдЗрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рдкрд░реНрдпрд╛рдкреНрдд рдЬреНрдЮрд╛рди рд╣реЛрдЧрд╛ (рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХрд┐рддрдирд╛ рдпрд╛ рдмрд╣реБрдд рдХрдо рд╣реИ)ред рдЙрдкрдпреЛрдЧреА рдХреМрд╢рд▓ рд╣реЛрдВрдЧреЗ: рдЯреАрдо рд╡рд░реНрдХ , рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдордЭ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред


"рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реА" рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░ рдЦреЛрдЬ рдЗрдВрдЬрди рдПрдЪрдПрдЪ рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд рдХреЗ рдХрд╛рд░рдг, 1 рд╕реА рддрдХрдиреАрдХ рдХреЗ рд╕рд╛рде рдХрдИ рдкрд░рд┐рдгрд╛рдо рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдереЗред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рднрд╛рд╖рд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдЧрд▓рдд рдирд┐рдХрд▓реЗред


рд╕реЗрдВрдЯ рдкреАрдЯрд░реНрд╕рдмрд░реНрдЧ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдкрд░рд┐рдгрд╛рдо, рдореИрдВ рдиреАрдЪреЗ рджреЗрддрд╛ рд╣реВрдВред









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


All Articles