본문 바로가기
인공지능/PYTHON

셀레늄

by bibibig_data 2021. 6. 25.

설치

 

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()

id가 query인 것을 확인

 


예제 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