본문 바로가기
인터넷 IT 관련

웹 크롤링 코드 작성 예시 (근로복지공단)

by 곰스타일 2023. 5. 3.
728x90
반응형
SMALL

만약 한국 근로복지공단 사이트에서 사업장 관리번호 찾기를 통해 사업장명을 검색하고 검색 결과에 따라서 엑셀에 특정 데이터 값을 저장하는 크롤링을 하고 싶은데 어떻게 해야할까?

 

근로복지공단 사이트 화면 캡처

한국 근로복지공단 사이트에서 크롤링을 하기 위해서는, Python과 Beautiful Soup, Requests 등의 라이브러리를 이용해서 웹 페이지의 HTML 코드를 가져오고, 원하는 정보를 추출할 수 있도록 파싱하는 작업이 필요합니다.

아래는 예시 코드입니다.

 


import requests
from bs4 import BeautifulSoup
import pandas as pd

# 검색할 사업장 관리번호 리스트
business_ids = ['1234567890', '2345678901', '3456789012']

# 결과 저장할 데이터프레임 생성
df = pd.DataFrame(columns=['사업장명', '사업자등록번호', '사업장주소'])

# 각 사업장 관리번호에 대해 크롤링 진행
for business_id in business_ids:
    url = f' https://www.ei.go.kr/ei/poi/eiPoiSe01t.do?reqPblancId= {business_id}'
    res = requests.get(url)
    soup = BeautifulSoup(res.content, 'html.parser')
    
    # 검색 결과에 따라서 특정 데이터 값 추출
    if '등록된 사업장 정보가 없습니다.' not in soup.text:
        name = soup.select_one('td.name > span').text.strip() #사업장명
        reg_no = soup.select_one('td.reg_no').text.strip() #사업자등록번호
        address = soup.select_one('td.address').text.strip() #사업장주소
        
        # 결과 데이터프레임에 추가
        df = df.append({'사업장명': name, '사업자등록번호': reg_no, '사업장주소': address}, ignore_index=True)
        
# 결과 데이터프레임을 엑셀 파일로 저장
df.to_excel('result.xlsx', index=False)

 


 

 

위 코드에서는 business_ids 리스트에 검색할 사업장 관리번호를 입력하고, df 데이터프레임에 추출한 데이터를 저장합니다. 추출한 데이터는 to_excel() 메서드를 이용해서 엑셀 파일로 저장할 수 있습니다. 하지만 사이트의 이용약관을 확인하고, 스크래핑이 허용되는지 먼저 확인해보는 것이 좋습니다.

 

728x90
반응형
LIST

댓글