개발 아카이브/코드 저장소

[Python]NHN 채용 공고 크롤링, 검색, 추출 코드

운클라우드 2021. 8. 10. 15:13
반응형

본 포스팅은 유용한 코드를 개인적으로 쓰기위한 코드저장을 포스팅입니다.

다른 기업 채용사이트에 비해 NHN 채용사이트는 특정 키워드로 검색하는 기능이 없길래 심심해서 만들었습니다.

 

 

필수 라이브러리

  • requests
  • BeautifulSoup

 

코드

import requests
from bs4 import BeautifulSoup
from datetime import datetime

URL = 'https://recruit.nhn.com'
param={'type':'company'}
recruit_list = []
selected_recruits = []

# 채용공고 리스트 추출
print('>> 리스트 추출 중...')
responce = requests.get(URL + '/ent/recruitings', params=param)
html = BeautifulSoup(responce.text, 'html.parser')
emts = html.select('.tbl_lst .frst_td > a')

for e in emts:
	recruit_one = [e.get_text(), e.get('href')]
	recruit_list.append(recruit_one)


# 각 공고 방문 후 관련 키워드 추출
print('-------------------------------------------')
print('키워드를 입력하시면 입력하신 키워드로 공고를 검색합니다.')
print('예 : spring, java, python, 신입, 경력, 딥러닝 등..')
search_text = input('키워드를 입력하세요. (1개만 가능) : ')


print('>> 각 공고 방문 후 관련 키워드 추출...')

for r in recruit_list:
	rec_html = requests.get(URL + r[1]).text
	rec_html = rec_html.lower()
	if rec_html.find(search_text) != -1:
		selected_recruits.append(r)
	

# print(selected_recruits)

# 관련 키워드로 추출한 공고 Export
print('>> Export...')
today = datetime.today()

fileName = "NHN_" + str(today)[:10] + "_" + (str(today).replace(":", "_"))[11:19] + ".csv"
f = open(fileName, 'w')

for rec in selected_recruits:
	f.write(rec[0] + "," + URL + rec[1] + "\n")

f.close()

print('파일명 : ' + fileName + '으로 추출이 완료 되었습니다.\n>> [종료됨]')

 

반응형