from selenium import webdriver
import chromedriver_autoinstaller
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time
import csv
# 브라우저 접속
driver = webdriver.Chrome('')
time.sleep(2)
list_result = []
for next_page in range(1, 4): # 1부터 n-1페이지까지 수집
time.sleep(2)
for i in range(1,11):
# 행 변수 추출
# 편드명
fund_name = driver.find_elements(By.CSS_SELECTOR, f'#resultList > tr:nth-child({i}) > td.taL.bold > a > span')
var1 = fund_name[0].text
# 기준가
fund_element_1 = driver.find_elements(By.CSS_SELECTOR, f'#resultList > tr:nth-child({i}) > td:nth-child(3)')
var2 = fund_element_1[0].text
var2_cleaned = var2.split('\n') # var2_cleaned 는 list
var2_cleaned_text = var2_cleaned[0] # 이제 text
# 운용규모
fund_element_2 = driver.find_elements(By.CSS_SELECTOR, f'#resultList > tr:nth-child({i}) > td:nth-child(4)')
var3 = fund_element_2[0].text
var3_cleaned = var3.split('\n') # var3_cleaned 는 list
var3_cleaned_text = var3_cleaned[0] # 이제 text
# 설정일
fund_date = driver.find_elements(By.CSS_SELECTOR, f'#resultList > tr:nth-child({i}) > td:nth-child(5)')
var4 = fund_date[0].text
# 하나의 행으로 저장해 result에 행을 쌓기
list_1 = [var1, var2_cleaned_text, var3_cleaned_text, var4]
list_result.append(list_1)
# 다음 페이지로 넘기기
next = driver.find_element(By.CSS_SELECTOR,'#tabPaging > div > tr > button.btn--paging.btn--next')
driver.execute_script('arguments[0].click();', next)
print(list_result)
# CSV 파일에 데이터 쓰기
csv_file_path = 'fund_data.csv'
with open(csv_file_path, 'w', newline='', encoding='utf-8-sig') as csvfile: # utf-8-sig : 엑셀에서 한글 깨짐 방지
csv_writer = csv.writer(csvfile)
# 헤더 작성
header = ['Fund Name', 'Price', 'AUM', 'Setting Date']
csv_writer.writerow(header)
# 데이터 작성
for row in list_result:
csv_writer.writerow(row)
print(f'Data saved to {csv_file_path}')
# 사용자 입력을 기다림
input("Press Enter to close the browser...")
'Python' 카테고리의 다른 글
| 펀드슈퍼마켓 (전체펀드 세부사항_기간수익률) 크롤링 (0) | 2024.02.01 |
|---|---|
| 펀드슈퍼마켓 (전체펀드) 크롤링 (2) | 2024.02.01 |
| 자동 로그인 (1) | 2024.02.01 |
| JSON 데이터 다루기_2, map 함수 (1) | 2024.02.01 |
| 네이버 블로그 자동 글 발행 (0) | 2024.01.21 |