미래내일일경험 - 빅리더(23.06~23.12)/교육

[크롤링] 크롤링 정리

NINE1ll 2023. 7. 10. 20:32

막상 정리하려고 했는데 내가 필요한게 아니니까 할려고하니까 너무 귀찮아서 대강 정리할래요.

근데 사실 이거 이렇게 써도 아무도 안읽자너

이거는 진짜로 그냥 공식문서만 읽어도 해결되는 건데 3일이나 수업을 한지 모르겠어요.

#Step 1. 필요한 모듈을 로딩합니다
from selenium import webdriver
from bs4 import BeautifulSoup
from selenium.webdriver.common.by import By
import time, os
#CSV로 저장할 준비
fc_name = "./data/seoul.csv"

#Step 4. 크롬 드라이버 설정 및 웹 페이지 열기
driver = webdriver.Chrome("./chromedriver")
driver.get('https://eungdapso.seoul.go.kr/main.do')

# 팝업창이 있으면 닫고 창 최대화 하기
all_win = driver.window_handles
for handle in all_win :
    if handle != all_win[0] :
        driver.switch_to.window(handle)
        time.sleep(1); driver.close()
driver.switch_to.window(driver.window_handles[0])
time.sleep(2); driver.maximize_window()
time.sleep(5)

# collect_cnt = int(input(' 몇 건을 수집하시겠습니까?: '))
# collect_page_cnt = math.ceil(collect_cnt / 10)

driver.find_element(By.CLASS_NAME, "mv_linkbanner_text").click()
time.sleep(5)

soup_1 = BeautifulSoup(driver.page_source, 'html.parser')
content_1 = soup_1.find('table','rp_tb').find_all('tr')
total_content = soup_1.find('div','rp_lkitem').get_text()
print(f"total_content:{total_content}")
time.sleep(2)

# tr들의 내용을 확인하기 위해 출력
for i in content_1 :
    print(i.get_text().replace("\n",""))

# driver.find_element(By.CLASS_NAME, "rp_tb")

no2 = [] #번호 저장
title = [] #제목 저장
date = [] # 날짜 저장



import pandas as pd


# df.to_csv(fc_name,index=False, encoding="utf-8-sig")
print('요청하신 데이터 수집 작업이 정상적으로 완료되었습니다')

driver.close()