본문 바로가기

Coding Study/Python

파이썬 - 게시판 제목 크롤링하여 엑셀파일에 저장하기

728x90
반응형

오늘은 파이썬 두 번째 포스팅으로 특정 게시판의 제목을 크롤링하여 엑셀 파일에 저장하는 소스를 작성해 보도록 하겠습니다. 해당 강좌는 인프런의 잔재미코딩님의 강좌를 기반으로 작성되는 것이고 공부한 내용의 복습 차원에서 제가 이해하고 있는 부분에 대해 메모를 남겨 놓는 포스팅입니다.

 

from urllib.requests import urlopen

from bs4 import BeautifulSoup

import openpyxl

# 파이썬 엑셀파일 클래스 임포트

 

excel_file = openpyxl.Workbook()

excel_sheet = excel_file.active

excel_sheet.column_dimensions['B'].width = 100

# 엑셀 시트에서 B 컬럼의 가로폭을 조정

 

num = 0

excel_sheet.append(['No', 'Subject'])

# 엑셀 첫행에 No / Subject 삽입

res = urlopen('https://seeko.earlyadopter.co.kr/bbs/board.php?bo_table=mainnews')

soup = BeautifulSoup(res, 'html.parser')

 

data = soup.select('li >div.wr-subject > a')

for item in data:

    num += 1

    excel_sheet.append([num, item.get_text().replace('\t', '').replace('\n', '')])

    # 크롤링한 제목의 탭/줄바꿈을 replace ( 문자열 치환 ) 하여 공백으로 처리

 

excel_A1 = excel_sheet['A1']

excel_A1.alignment = openpyxl.styles.Alignment(horizontal = "center")

# 엑셀 A1 열을 센터로 정렬

excel_B1 = excel_sheet['B1']

excel_B1.alignment = openpyxl.styles.Alignment(horizontal = "center")

 

# 엑셀 파일 저장 ( 괄호 안에 파일명으로 엑셀 파일 생성 )

excel_file.save('test.xlsx')

excel_file.close()

 

 

728x90
반응형