[codeit] 꿈의 직장 전화번호 모으기 III

SUNGJIN KIM·2021년 12월 5일
0

codeit

목록 보기
12/18

과제

오렌지 보틀 지점들에 대한 정보를 엑셀 파일에 저장하려고 합니다.

모든 오렌지 보틀 지점의 이름, 주소, 전화번호를 엑셀 파일 (또는 CSV 파일)에 저장해 주세요.

파일 이름은 '오렌지보틀.xlsx' (CSV는 '오렌지보틀.csv')로 해주시고, 엑셀의 경우 워크시트 이름은 따로 설정 안 해주셔도 됩니다.

과제 코드

이전에 해당 지점 관련해서의 정보는 소스코드를 미리 짜놨기때문에
xlsx 부분만 추가하여 작성하였다.

openpyxl만 추가하면 나머지는 큰 특이사항이 없다.

import requests
from bs4 import BeautifulSoup
from openpyxl import Workbook

wb = Workbook()
wb = Workbook(write_only=True)

ws = wb.create_sheet()
ws.append(["지점이름", "주소", "전화번호"])

# HTML 코드 받아오기
response = requests.get("https://workey.codeit.kr/orangebottle/index")

# BeautifulSoup 사용해서 HTML 코드 정리
soup = BeautifulSoup(response.text, 'html.parser')

branch_infos = []

# 모든 지점에 대한 태그 가져오기
branch_tags = soup.select('div.branch')

for branch_tag in branch_tags:
    # 각 태그에서 지점 이름, 전화번호 가져오기
    branch_name = branch_tag.select_one('p.city').get_text()
    address = branch_tag.select_one('p.address').get_text()
    phone_number = branch_tag.select_one('span.phoneNum').get_text()
    branch_infos.append([branch_name, address, phone_number])
    ws.append([branch_name, address, phone_number])

# 출력 코드
print(branch_infos)
wb.save("오렌지_보틀.xlsx")

profile
#QA #woonmong

0개의 댓글