반응형
Skills Engine API 이용해서 모든 직업 불러오기 (feat. requests, json)
스킬스엔진은 각 개인이 가진 역량을 최대화하여 진로 (career path) 설정하는 데에 도움을 주는 텍사스, 미국에 위치한 기업이다.
스킬스엔진 역시 API를 제공하는데 무료 버전은 한 달에 250번의 API 요청을 할 수 있다.
Settings & Keys에 들어가서 client_id, client_secret을 얻을 수 있다.
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
|
# Skills Engine Web Address
# https://skillsengine.com/
# Skills Engine API 계정 관리 사이트
# https://accounts.skillsengine.com/settings
# Skills Engine 개발자 허브
# https://dev.skillsengine.com/reference
# import libraries
import requests
import json
import pandas as pd
import time
from openpyxl import Workbook
# You can retrieve your API Key at Setting & Keys
client_id = "YOUR CLIENT ID"
client_secret = "YOUR CLIENT SECRET"
# Access a token
host = "https://api.skillsengine.com"
headers = {'Content-Type':'application/json'}
payload = {
'grant_type':'client_credentials',
'client_id':client_id,
'client_secret':client_secret
}
r = requests.post(host+'/api/token', headers=headers, data=json.dumps(payload))
res_json = r.json()
# ACCESS_TOKEN
access_token = res_json['access_token']
# Get all occupations
headers = {
'Content-Type':'application/json',
'Authorization':'Bearer: '+access_token
}
url = "https://api.skillsengine.com/v2/occupations"
response = requests.request("GET", url, headers=headers)
response = response.json()
response = str(response_json.values())
response = response.split("'},") # Dividing by each occupation
ABC = ["A1", "B1", "C1", "D1", "E1", "F1", "G1", "H1", "I1", "J1", "K1", "L1"]
columns = ["id", "guid", "soc", "title", "short_title", "description", "education_range", "version", "status", "lay_titles", "family", "family_title"]
write_wb = Workbook()
write_ws = write_wb.active
# Head Column 만들기
for (alphabet, col) in zip(ABC, columns):
write_ws[alphabet] = col
for res in response:
id = res[res.find("'id':")+7:res.find("'guid'")-3]
guid = res[res.find("'guid':")+9:res.find("'soc'")-3]
soc = res[res.find("'soc':")+8:res.find("'title'")-3]
title = res[res.find("'title':")+10:res.find("'short_title'")-3]
short_title = res[res.find("'short_title':")+16:res.find("'description'")-3]
description = res[res.find("'description':")+16:res.find("'education_range'")-3]
education_range = res[res.find("'education_range':")+18:res.find("'version'")-2]
version = res[res.find("'version':")+10:res.find("'status'")-2]
status = res[res.find("'status':")+9:res.find("'lay_titles'")-2]
lay_titles = res[res.find("'lay_titles':")+13:res.find("'family'")-2]
family = res[res.find("'family':")+10:res.find("'family_title'")-2]
family_title = res[res.find("'family_title':")+17:]
write_ws.append([id, guid, soc, title, short_title, description, education_range, version, status, lay_titles, family, family_title])
write_wb.save("Skills_Engine_ALLOccupations.csv")
|
cs |
반응형
'공부 > 파이썬 Python' 카테고리의 다른 글
Open Skills API 이용해서 세상 모든 직무능력 불러오기(feat. requests, json) (0) | 2021.01.15 |
---|---|
Open Skills API 이용해서 세상 모든 직업 불러오기(feat. requests, json) (0) | 2021.01.15 |
Emsi API 이용해서 직무 능력 불러오기 (feat. requests, json) (0) | 2021.01.14 |
커리어넷 API 직정보 불러오기 (feat. Python ElementTree) (0) | 2021.01.14 |
커리어넷 API 대학정보 불러오기 (feat. Python ElementTree) (0) | 2021.01.14 |
댓글