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

1318 단어 pythonCodeitCodeit

과제

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

모든 오렌지 보틀 지점의 이름, 주소, 전화번호를 엑셀 파일 (또는 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")

좋은 웹페이지 즐겨찾기