from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome(executable_path='../driver/chromedriver.exe')
driver.get('https://pinkwink.kr')
# 창 닫기
driver.quit()
# 화면 최대 크기 설정
driver.maximize_window()
# 화면 최소 크기 설정
driver.minimize_window()
# 화면 크기 설정
driver.set_window_size(600, 600)
# 새로 고침
driver.refresh()
# 뒤로 가기
driver.back()
# 앞으로 가기
driver.forward()
# 클릭
from selenium.webdriver.common.by import By
first_content = driver.find_element(By.CSS_SELECTOR, '#content > div.cover-masonry > div > ul > li:nth-child(1)')
first_content.click()
# 새로운 탭 생성
driver.execute_script('window.open("http://www.naver.com")')
# 탭 이동
drvier.switch_to.window(driver.window_handles[1])
# 탭 닫기
driver.close()
스크롤 가능한 높이(길이)
자바 스크립트 코드 실행
✏️입력
driver.execute_script('return document.body.scrollHeight')
💻출력
5997
화면 스크롤 하단 이동
driver.execute_script('window.scrollTo(0, document.body.scrollHeight);')
현재 보이는 화면 스크린샷 저장
✏️입력
driver.save_screenshot('./last_height.png')
💻출력
True
화면 스크롤 상단 이동
driver.execute_script('window.scrollTo(0, 0);')
특정 태그 지점까지 스크롤
from selenium.webdriver import ActionChains
some_tag = driver.find_element(By.CSS_SELECTOR, '#content > div.cover-list > div > ul > li:nth-child(1)')
action = ActionChains(driver)
action.move_to_element(some_tag).perform()
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome('../driver/chromedriver.exe')
driver.get('https://www.naver.com')
검색창 선택 & 검색어 입력
keyword = driver.find_element(By.CSS_SELECTOR, '#query') keyword.clear() keyword.send_keys('파이썬')
검색 클릭
search_btn = driver.find_element(By.CSS_SELECTOR, '#search_btn') search_btn.click()
driver.find_element(By.XPATH, '//*[@id="query"]').send_keys('xpath') driver.find_element(By.XPATH, '//*[@id="search_btn"]').click()
from selenium import webdriver
from selenium.webdriver.common.by import By
1. 돋보기 버튼을 선택
from selenium.webdriver import ActionChains search_tag = driver.find_element(By.CSS_SELECTOR, '.search') action = ActionChains(driver) action.click(search_tag) action.perform()
2. 검색어를 입력
driver.find_element(By.CSS_SELECTOR, '#header > div.search > input[type=text]').send_keys( '딥러닝')
3. 검색 버튼 클릭
driver.find_element(By.CSS_SELECTOR, '#header > div.search.on > button').click()
현재 화면의 html 코드 가져오기
from bs4 import BeautifulSoup
req = driver.page_source
soup = BeautifulSoup(req, 'html.parser')
6
.find_element() & .find_elements()
반복문으로 value 태그 값 리스트에 담기, .get_attribute()
시도와 같은 방법으로 구 리스트에 담기
엑셀 저장, tqdm 모듈로 진행상황 확인
import time from tqdm import tqdm_notebook # 그냥 하면 눈에 안 보여서 tqdm 안에 담아서 진행상황 보기 for gu in tqdm_notebook(gu_names): element = driver.find_element(By.ID, 'SIGUNGU_NM0') element.send_keys(gu) time.sleep(3) element_get_excel = driver.find_element(By.CSS_SELECTOR, '#glopopd_excel') element_get_excel.click() time.sleep(3)
파일 목록 한 번에 가져오기, glob()
반복문으로 엑셀 파일 여러개 불러오기
.concat()
주소 컬럼에서 구 데이터 추출, 구 컬럼 추가
.astype() : 데이터형 변환
인덱스 재정렬 후 기존 인덱스 삭제, .reset_index(inplace=True)
import matplotlib.pyplot as plt
import seaborn as sns
import platform
from matplotlib import font_manager, rc
plt.rcParams["axes.unicode_minus"] = False
# 마이너스 부호 때문에 한글 깨질 수 있어 주는 설정
rc("font", family="Malgun Gothic")
# %matplotlib inline 이거랑 아래 중에 하나만 하면 됨
get_ipython().run_line_magic("matplotlib", "inline")
# 그래프를 그렸을 때 바로 나타나게 설정
plt.rc('font', family='Malgun Gothic')
plt.rcParams['axes.unicode_minus'] = False
boxplot(pandas)
boxplot(seaborn)
구 데이터 정리
folium
(코드가 잘 이해가 안 돼서 나중에 다시 보자.. 특히 json 파일)
이 글은 제로베이스 데이터 취업 스쿨의 강의자료 일부를 발췌하여 작성되었습니다.