설치
1. 셀레늄 pip 설치하기 cmd창에 pip install -U selenium 입력
2. SeleniumHQ Browser Automation 접속 후 pip 다운로드
3. 크롬 설정 -> 버전 확인 91.0.4472.114
4. https://sites.google.com/a/chromium.org/chromedriver/downloads 접속 후 버전에 맞는거 설치
5. 파이썬 폴더에 옮기기
아톰 설정
Settings - Packages - Hydrogen - Settings

예제 1 selenium
#* open a new Chrome browser
# * load the page at the given URL
from selenium import webdriver
browser = webdriver.Chrome() # 같은 경로에 있을 경우
# browser = webdriver.Chrome(path) # 다른 경로에 있을 경우
# type(browser)
# help(browser)
# dir(browser)
browser.get('http://seleniumhq.org/')
help(browser.get)
browser.quit()
예제 2 yahoo
# * open a new Chrome browser
# * load the Yahoo homepage
# * search for "여행"
# * close the browser
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Chrome()
browser.get('http://www.yahoo.com')
browser.title
elem = browser.find_element_by_name('p')
type(elem)
help(elem)
dir(elem)
elem.send_keys('여행' + Keys.RETURN)
help(elem.send_keys)
type(Keys.RETURN)
browser.quit()
예제 3 naver
# * open a new Chrome browser
# * load the naver homepage
# * search for "여행"
# * close the browser
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Chrome()
browser.get('http://www.naver.com')
browser.title
elem = browser.find_element_by_name('query')
type(elem)
help(elem)
dir(elem)
elem.send_keys('여행' + Keys.RETURN)
help(elem.send_keys)
type(Keys.RETURN)
browser.quit()

예제 4 kbsnews
------------------------
> KBS 뉴스 검색 <
------------------------
# selenium 사용이 필요했음
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup
browser = webdriver.Chrome()
browser.get('http://news.kbs.co.kr/search/search.do?')
browser.title
elem = browser.find_element_by_name('input-search')
elem.send_keys('부동산' + Keys.RETURN)
ret = browser.page_source
soup = BeautifulSoup(ret, 'html.parser')
links = soup.select("#searchList a")
titles = soup.find_all("em", class_="tit")
times = soup.find_all("span", class_="time")
for link in links:
print(link['href'] )
for title in titles:
print(title.text)
for time in times:
print(time.text)
links = soup.select("#searchList a")
titles = soup.find_all("em", class_="tit")
times = soup.find_all("span", class_="time")
browser.quit()
---------------------------------------------
> KBS 뉴스 기사 내용까지 출력검색 <
---------------------------------------------
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup
import requests
browser = webdriver.Chrome()
browser.get('http://news.kbs.co.kr/search/search.do?')
browser.title
elem = browser.find_element_by_name('input-search')
elem.send_keys('부동산' + Keys.RETURN)
ret = browser.page_source
soup = BeautifulSoup(ret, 'html.parser')
links = soup.select("#searchList a")
import time
for i in range(len(links)):
# time.sleep(5)
browser.get(links[i]['href'])
news = browser.page_source
soup_news = BeautifulSoup(news, 'html.parser')
for i in soup_news.find_all("div", class_="detail-body font-size"):
print(i.text.strip())
print("="*30)
예제 5 KBS ON AIR
---------------------------------------
> KBS ON AIR 영상 켜기 <
---------------------------------------
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup
browser = webdriver.Chrome()
# driver.implicitly_wait(20)
browser.get('http://kbs.co.kr/')
browser.find_element_by_link_text("예능").click()
browser.find_element_by_class_name("btn-onair").click()
# 켜기
browser.find_element_by_id("kbs-social-player").click()
# element = browser.find_element_by_xpath("//div[@class='jw-icon jw-icon-display jw-button-color jw-reset']")
# element.click()
browser.find_element_by_id("kbs-social-player").click()
# element = browser.find_element_by_xpath("//div[@class='jw-icon jw-icon-inline jw-button-color jw-reset jw-icon-playback']")
# element.click()
browser.close()
'인공지능 > PYTHON' 카테고리의 다른 글
크롤링 (2) (0) | 2021.06.25 |
---|---|
Crawling and Flask (2) (0) | 2021.06.25 |
Crawling and Flask (0) | 2021.06.24 |
크롤링 (2) (0) | 2021.06.23 |
Flask 2 (0) | 2021.06.22 |