다음의 인기검색어를 가져와보자!
In [50]:
from webdriver_manager.chrome import ChromeDriverManager
from selenium import webdriver
from bs4 import BeautifulSoup
import os
from glob import glob
import requests
import time
In [57]:
urls = "https://www.daum.net/"
#wrapSearch > div.slide_favorsch > ul:nth-child(2) > li:nth-child(2) > a
In [72]:
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get(urls)
# full_html = driver.page_source
# soup = BeautifulSoup(full_html, 'html.parser')
text_list=[]
driver.set_window_size(1920,1080)#윈도우 창의 사이즈를 조절한다.
#다음과 같이 잘 정돈된? 사이트들은 CSS에 대한 수정 필요없이 파일을 잘 가져올 수 있다.
for k in range(2):
for i in range(1, 3):
for j in range(1, 6):
try:
get = driver.find_element_by_css_selector(f"#wrapSearch > div.slide_favorsch > ul:nth-child({i}) > li:nth-child({j}) > a")
if get.text != "":
text_list.append(get.text)
time.sleep(0.5)
except :
pass
driver.find_element_by_css_selector("#wrapSearch > div.page_pctop > button.ico_pctop.btn_page.btn_next").click()
driver.close()
====== WebDriver manager ====== Current google-chrome version is 98.0.4758 Get LATEST chromedriver version for 98.0.4758 google-chrome Driver [C:\Users\se99a\.wdm\drivers\chromedriver\win32\98.0.4758.102\chromedriver.exe] found in cache C:\Users\Public\Documents\ESTsoft\CreatorTemp/ipykernel_9356/1729869276.py:1: DeprecationWarning: executable_path has been deprecated, please pass in a Service object driver = webdriver.Chrome(ChromeDriverManager().install()) C:\Users\Public\Documents\ESTsoft\CreatorTemp/ipykernel_9356/1729869276.py:12: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead get = driver.find_element_by_css_selector(f"#wrapSearch > div.slide_favorsch > ul:nth-child({i}) > li:nth-child({j}) > a") C:\Users\Public\Documents\ESTsoft\CreatorTemp/ipykernel_9356/1729869276.py:18: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead driver.find_element_by_css_selector("#wrapSearch > div.page_pctop > button.ico_pctop.btn_page.btn_next").click()
In [73]:
text_list
Out[73]:
['코로나19 발생현황', '대통령선거 사전투표일', '전원주택전문업체', '김태현 열애', '법률사무소', '코로나19 접종현황', '대통령선거 사전투표율', '화물용리프트', '임시완 기부', '명함제작사이트']
이번엔 로그인을 해보자
Daum kakao 계정으로 쓴다. 아래에 아이디, 비밀번호 대신 본인의 카카오계정 아이디와 비밀번호를 입력하면 된다.
In [89]:
kakao_id = "아이디"
kakao_pw = "비밀번호"
In [88]:
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get(urls)
driver.set_window_size(1920,1080)#윈도우 창의 사이즈를 조절한다.
login_area = driver.find_element_by_css_selector("#inner_login")
login_area.find_element_by_class_name("link_login").click()
driver.find_element_by_css_selector("#id_email_2_label").click()
driver.find_element_by_css_selector("#id_email_2").send_keys(kakao_id)
driver.find_element_by_css_selector("#id_password_3_label").click()
driver.find_element_by_css_selector("#id_password_3").send_keys(kakao_pw)
driver.find_element_by_css_selector("#login-form > fieldset > div.wrap_btn > button.btn_g.btn_confirm.submit").click()
====== WebDriver manager ====== Current google-chrome version is 98.0.4758 Get LATEST chromedriver version for 98.0.4758 google-chrome Driver [C:\Users\se99a\.wdm\drivers\chromedriver\win32\98.0.4758.102\chromedriver.exe] found in cache C:\Users\Public\Documents\ESTsoft\CreatorTemp/ipykernel_9356/271736053.py:1: DeprecationWarning: executable_path has been deprecated, please pass in a Service object driver = webdriver.Chrome(ChromeDriverManager().install()) C:\Users\Public\Documents\ESTsoft\CreatorTemp/ipykernel_9356/271736053.py:4: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead login_area = driver.find_element_by_css_selector("#inner_login") C:\Users\Public\Documents\ESTsoft\CreatorTemp/ipykernel_9356/271736053.py:6: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead driver.find_element_by_css_selector("#id_email_2_label").click() C:\Users\Public\Documents\ESTsoft\CreatorTemp/ipykernel_9356/271736053.py:7: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead driver.find_element_by_css_selector("#id_email_2").send_keys(kakao_id) C:\Users\Public\Documents\ESTsoft\CreatorTemp/ipykernel_9356/271736053.py:8: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead driver.find_element_by_css_selector("#id_password_3_label").click() C:\Users\Public\Documents\ESTsoft\CreatorTemp/ipykernel_9356/271736053.py:9: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead driver.find_element_by_css_selector("#id_password_3").send_keys(kakao_pw) C:\Users\Public\Documents\ESTsoft\CreatorTemp/ipykernel_9356/271736053.py:10: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead driver.find_element_by_css_selector("#login-form > fieldset > div.wrap_btn > button.btn_g.btn_confirm.submit").click()
이렇게 오늘은 Daum 인기검색어 크롤링과 자동로그인 기능을 구현해 보았다.
In [ ]:
'데이터 시각화 분석' 카테고리의 다른 글
취미로 하는 데이터 분석 시리즈09(소행성의 어떤 특징이 지구에 더 큰 위험을 가져올까?) (0) | 2022.06.27 |
---|---|
취미로 하는 데이터 분석 시리즈08(가장 칼로리 소모가 큰 운동은 무엇인가?) (0) | 2022.03.06 |
취미로 하는 데이터 분석 시리즈06(웹사이트 크롤링 어플리케이션) (0) | 2022.03.05 |
취미로 하는 데이터 분석 시리즈05(이미지 분류/Dacon 공모전 CNN 클론 코딩) (0) | 2022.03.04 |
취미로 하는 데이터 분석 시리즈04-2(기원후 1000년에 와인을 만들었다면 그 가격은 얼마일까?) (0) | 2022.03.01 |