재우니의 블로그

https://sdf.seoul.kr/research-report/2003 에서 chatgpt 활용법을 보고 나서, 호기심으로 크롤링 부분만 살짝 검토해 봤습니다.

 

 

http://smartcitysolutionmarket.com 사이트의 목록에서 지방자치단체명, 서비스명, 구축년도를 추출하는 python 코드 입니다. chatgpt 를 통해 1차 지원을 받고 구축년도 부분은 제대로 반영되지 않아 약간 수정한 버전입니다.

 

 

import requests
from bs4 import BeautifulSoup
import pandas as pd

# 데이터를 저장할 빈 리스트 생성
results = []

# 페이지 범위 지정
start_page = 1
end_page = 10

for page in range(start_page, end_page+1):
    url = f'http://smartcitysolutionmarket.com/scsm/locgov/locgovSlutnList.do?menuNo=1&sortOrderField=&searchCondition=&searchKeyword=&searchWdrLocgovNo=&searchBsisLocgovNo=&pageIndex={page}'

    # 주소링크에서 HTML 데이터 가져오기
    res = requests.get(url)
    soup = BeautifulSoup(res.content, 'html.parser')

    # <div class="row list-article-row"> 태그 찾기
    rows = soup.select('div.row.list-article-row')

    # 데이터 추출하기
    for row in rows:
        data = {}
        data['자치단체명'] = row.select_one('div.col-md-2.list-article-item.text-center.list-artilce-item-tit').text.strip()
        data['서비스명'] = row.select_one('div.col-lg-8').text.strip()
        data['구축연도'] = row.find_all('div', {'class': 'col-sm-4 list-article-item text-center'})[0].find_all('span')[1].text
        results.append(data)

# 데이터프레임 생성하기
df = pd.DataFrame(results)

# 엑셀 파일로 저장하기
df.to_excel('result.xlsx', index=False)

 

 

result.xlsx
0.01MB