Bonne après-midi.
Il y a quelques années, dans le soutien du chasseur de têtes (hh.ru), j'ai proposé une option de recherche supplémentaire pour les compétences clés en plus des trois disponibles (dans le titre du poste, dans le nom de l'entreprise, dans la description du poste). On m'a dit qu'il y avait plus de propositions pour améliorer le service que l'obscurité, donc dosvidos. Le résultat est cette recherche ...
J'ai découvert api.hh.ru et j'ai décidé de commencer à créer un analyseur dans Excel, afin que le résultat soit visuellement plus facile à analyser. Le dock API sur github.com/hhru/api convient , vous pouvez donc travailler. Tout d'abord, j'ai décidé d'analyser la référence des compétences clés (key_skills). Pendant qu'il s'étirait, il s'est avéré que les mille et demi premiers étaient la norme introduite par défaut. Et le reste de la confusion et de l'hésitation, je me suis arrêté à 13000 et j'ai laissé tomber la charge. C'est clair, il faut passer à l'analyseur.
J'ai fait la première conclusion des données comme suit:
je ne pensais pas comment les utiliser. Par conséquent, j'ai décidé de le faire comme dans un SGBDR puis de créer un tableau croisé dynamique pour le filtrage. Et maintenant, la conclusion est la suivante: établissez
immédiatement le code et dans l'ordre.
Sub vvv()
Dim http
Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
timeout = 2000 'milliseconds
http.setTimeouts timeout, timeout, timeout, timeout
http.Option(2) = 0 ' 65001 utf-8
Dim url_ As String
url0 = "https://api.hh.ru/vacancies?text=NAME:() and DESCRIPTION:(NOT intermediate)&area=1&only_with_salary=true&no_magic=true&salary=100000¤cy_code=RUR&period=30&label=not_from_agency&order_by=publication_time"
http.Open "get", url0
http.send
text = http.responseText
If InStr(text, "errors") > 0 Then
Debug.Print text
Stop
Else
If text <> "" Then
Set qwe = JsonConverter.ParseJson(text)
End If
End If
CountV = qwe("found")
CountP = qwe("pages")
isk = 1
On Error GoTo AfterSk
For pg = 1 To CountP
If pg > 1 Then
url_ = url0 & "&page=" & pg
http.Open "get", url_
http.send
text = http.responseText
Set qwe = JsonConverter.ParseJson(text)
End If
For i = 1 To 20
ii = (pg - 1) * 20 + i
Set Item = qwe("items")(i)
url1 = Item("alternate_url")
ThisWorkbook.Worksheets(2).Cells(ii + isk, 1) = Item("name")
ThisWorkbook.Worksheets(2).Cells(ii + isk, 3) = url1
ThisWorkbook.Worksheets(2).Cells(ii + isk, 1).Font.Bold = True
ThisWorkbook.Worksheets(2).Cells(ii + isk, 1).Font.Size = 14
ThisWorkbook.Worksheets(2).Cells(ii + isk, 3).Font.Bold = True
url_ = Item("url")
url_ = Replace(url_, "?host=hh.ru", "")
http.Open "get", url_
http.send
text = http.responseText
Set vak = JsonConverter.ParseJson(text)
Set keySkills = vak("key_skills")
CountSk = keySkills.Count
If CountSk > 0 Then
For jj = 1 To CountSk
If jj <> 1 Then isk = isk + 1
ThisWorkbook.Worksheets(2).Cells(ii + isk, 1) = Item("name")
ThisWorkbook.Worksheets(2).Cells(ii + isk, 2) = keySkills(jj)("name")
ThisWorkbook.Worksheets(2).Cells(ii + isk, 2).Font.Italic = True
ThisWorkbook.Worksheets(2).Cells(ii + isk, 3) = url1
Next jj
' Else
' ThisWorkbook.Worksheets(2).Cells(2 + (ii - 1) * 3, 1) = vak("description")
' ThisWorkbook.Worksheets(2).Cells(2 + (ii - 1) * 3, 1).Select
' Rows("2 + (ii - 1) * 3:2 + (ii - 1) * 3").EntireRow.AutoFit
End If
AfterSk:
If Err.Number <> 0 Then
'Stop
Resume Next
Err.Clear
End If
DoEvents
Next i
Next pg
Stop
End Sub
La requête GET est acceptée en cyrillique et dans le composant Activex WinHttp.WinHttpRequest dans la propriété Option (2) - la page de codes utf-8 (65001), j'ai donc passé un certain temps sur «pourquoi les lettres ne sont-elles pas russes dans la requête? - remplacé par 0.
Ajout d'un lien vers le poste vacant dans la sortie - il semble être unique.
Fait un tableau croisé dynamique.
Et comme vous le comprenez, un ensemble unique de compétences sur mille postes vacants s'élevait à 1500, soit même confusion et hésitation, de sorte que l' objectif principal de «trouver des postes vacants au plus près des compétences indiquées dans mon CV» semblait s'être éloigné de moi.
J'ai décidé de compter et de choisir mes favoris quelque chose comme ceci:
En-tête de spoiler
skill;count
Git;546
JavaScript;458
SQL;283
MySQL;255
PostgreSQL;251
;197
Java;196
HTML;186
Linux;177
Python;164
C#;139
HTML5;131
MS SQL;120
REST;82
XML;61
.NET Framework;56
MVC;55
ASP.NET;51
MS SQL Server;49
.NET Core;24
Entity Framework;21
HTTP;20
MS Visual Studio;20
Rest API;18
TCP/IP;15
C ;13
LINQ;12
SQLite;12
WCF;11
Git;546
JavaScript;458
SQL;283
MySQL;255
PostgreSQL;251
;197
Java;196
HTML;186
Linux;177
Python;164
C#;139
HTML5;131
MS SQL;120
REST;82
XML;61
.NET Framework;56
MVC;55
ASP.NET;51
MS SQL Server;49
.NET Core;24
Entity Framework;21
HTTP;20
MS Visual Studio;20
Rest API;18
TCP/IP;15
C ;13
LINQ;12
SQLite;12
WCF;11
En général, j'ajouterai un salaire à la sortie et peut-être autre chose, mais la poursuite de l'automatisation est au point mort. Ensuite, utilisez les poignées Ctrl + C, recherchez.
S'il y a des idées et des suggestions, discutons et continuons.
Note 1. Je ne peux pas maîtriser rapidement une langue étrangère à un niveau intermédiaire et le maximum de postes vacants émis par l'API = 2 mille par défaut, 20 par page, donc la demande dans le code l'a fait.
Le convertisseur json a pris ici github.com/VBA-tools/VBA-JSON .
Pour que le convertisseur JSON fonctionne:
Ouvrez Excel et activez l'onglet "Développeur".
Allez dans Visual Basic Editor (dans le ruban Développeur> Visual Basic).
Ouvrez la liste des références: dans le menu Outils> Références ...
Vérifiez Microsoft Scripting Runtime et Microsoft VBScript Regular Expressions 5.5. Cliquez sur OK.
Tout. Le monde change - je m'adapte. Et vous ne tombez pas malade.
PS:
En général, l'article n'est pas tant technique que sur les aspects de la recherche d'emploi. J'aimerais voir des commentaires sur la façon dont les portails comme hh peuvent améliorer l'utilisation de certains points.
Par exemple, voici les compétences clés abordées dans l'article.
Si dans les postes vacants / CV indiquent le niveau de compétence (débutant, intermédiaire, senior) pour chaque compétence - cela aiderait à améliorer l'affichage de la pertinence dans les résultats de recherche.