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)