셀레니움을 활용한 크롤링
셀레니움을 활용한 크롤링(로그인, 클릭 등)
!pip install Selenium
!apt-get update # to update ubuntu to correctly run apt install
!apt install chromium-chromedriver
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless') #내부 창을 띄울 수 없으므로 설정
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome('chromedriver',chrome_options=chrome_options)
driver.get("페이지URL")
print(driver.title)
html = driver.page_source
html
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')
data = soup.select('수정필요') # 클래스 '.' , 아이디 '#'
'''
# 로그인 소스코드
id = driver.find_element_by_id("html에 있는 id 창의 ID")
pw = driver.find_element_by_id("html에 있는 pw 창의 ID")
id.send_keys("여러분아이디")
pw.send_keys("여러분패스워드")
pw.send_keys(Keys.ENTER)
con = driver.find_element_by_id("html에 있는 클릭할 ID")
con.click()
---
# 구글에 접속했을 경우
# 검색 입력 부분에 커서를 올리고
# 검색 입력 부분에 다양한 명령을 내리기 위해 elem 변수에 할당한다
elem = driver.find_element_by_name("q")
# 입력 부분에 default로 값이 있을 수 있어 비운다
elem.clear()
# 검색어를 입력한다
elem.send_keys("Selenium")
# 검색을 실행한다
elem.submit()
'''