SyntaxHighlighter.all();

1. 소스코드 (일부)

서울데이터 - s_data

그 밖 데이터 - etc_date

etc_data는 2차원 배열로 etc_data[0] - 충북세종, etc_data[1] - 충남세종대전 .. 으로 구성함

수집한 데이터는 jinja2 템플릿을 활용하여 html에 전달 (소스코드 118, 122)

* API 데이터는 XML형태로만 제공됨

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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
app = Flask(__name__, static_url_path='')
 
req_url = 'http://openapi.work.go.kr/opi/opi/opia/wantedApi.do'
s_parameters = {
    'authKey':'API KEY 입력',
    'callTp':'L',
    'returnType':'XML',
    'startPage':1,
    'display':100,
    'career':'N',
    'education':'04',
    'region':'11000'
}
 
s_req = requests.get(req_url, params=s_parameters)
s_f_req = requests.get(req_url, params=s_f_parameters)
s_content = s_req.text
s_f_content = s_f_req.text
s_root = ET.fromstring(s_content)
s_f_root = ET.fromstring(s_f_content)
s_wanted = s_root.findall('.//wanted')
s_f_wanted = s_f_root.findall('.//wanted')
 
s_data = []
 
 
for s_want in s_wanted:
    company = s_want.find('company').text
    if company[0:5].count('('and len(company) > 9:
            company = company[0:8]+ ".."
    elif company[0:8].count(' 'and len(company) > 9:
            company = company[0:8]+ ".."
    elif len(company) > 8:
        company = company[0:7]+ ".."
    title = s_want.find('title').text
    if len(title) > 12:
        title = title[0:11]+ ".."
    career = s_want.find('career').text + ' / ' + '대졸(2~3년)'
    closeDt = s_want.find('closeDt').text
    s_data.append([company+datetime.datetime.now().strftime("%H:%M:%S"), title, career, closeDt])
 
 
 
# '충북세종','충남세종대전','경기','인천','경남부산울산','경북대구','전남광주','전북','강원','제주'
etc=['43000||36110','44000||36110||30000','41000','28000','48000||26000||31000','47000||27000','46000||29000','45000','42000','50000']
 
#배열선언-2년제
etc_parameters = [0 for i in range(10)]
etc_req = [0 for i in range(10)]
etc_content = [0 for i in range(10)]
etc_root = [0 for i in range(10)]
etc_wanted = [0 for i in range(10)]
etc_data=[[] for _ in range(10)]
stack_data = []
 
for i in range(10):
    etc_parameters[i] = {
        'authKey':'API KEY 입력',
        'callTp':'L',
        'returnType':'XML',
        'startPage':1,
        'display':100,
        'career':'N',
        'education':'04',
        'region': etc[i]
    }
        
 
    etc_req[i] = requests.get(req_url, params=etc_parameters[i])
    etc_f_req[i] = requests.get(req_url, params=etc_f_parameters[i])
    etc_content[i] = etc_req[i].text
    etc_f_content[i] = etc_f_req[i].text
    etc_root[i] = ET.fromstring(etc_content[i])
    etc_f_root[i] = ET.fromstring(etc_f_content[i])
    etc_wanted[i] = etc_root[i].findall('.//wanted')
    etc_f_wanted[i] = etc_f_root[i].findall('.//wanted')
 
 
    #지역별 크롤링 -2년제
    for etc_want in etc_wanted[i]:
        company = etc_want.find('company').text
        if company[0:5].count('('and len(company) > 9:
                company = company[0:8]+ ".."
        elif company[0:8].count(' 'and len(company) > 9:
                company = company[0:8]+ ".."
        elif len(company) > 8:
            company = company[0:7]+ ".."
 
        title = etc_want.find('title').text
        if len(title) > 12:
            title = title[0:11]+ ".."
        career = etc_want.find('career').text + ' / '  + '대졸(2~3년)'
        closeDt = etc_want.find('closeDt').text
        stack_data.append([company, title, career, closeDt])
 
 
    etc_data[i] = stack_data
    stack_data = []
 
 
 
############################################
# s_data = 서울 (2-3),  s_f_data = 서울(4)
#'충북세종' CB
#'충남세종대전' CN 
#'경기' GG
#'인천' INC
#'경남부산울산' GN
#'경북대구' GB
#'전남광주' JN
#'전북' JB
#'강원' GW
#'제주' JJ
###########################################
 
@app.route('/CB'
def indexCB():
    return render_template('index.html',s_data=s_data, len_s=len(s_data), etc_data=etc_data[0], len_etc=len(etc_data[0]), local_code=43000
 
@app.route('/CN'
def indexCN():
    return render_template('index.html',s_data=s_data, len_s=len(s_data), etc_data=etc_data[1], len_etc=len(etc_data[1]), local_code=44000
 
 
 
 
cs

+ Recent posts