Data Analysis/Web Crawling

[Crawling] Selenium 이용해 Google 검색으로 원하는 정보를 크롤링 해보자

seoraroong 2024. 8. 21. 14:27

Google 검색창에 검색어 입력 후 원하는 정보 크롤링 하기

 

- 필요한 라이브러리 호출 하기

from bs4 import BeautifulSoup
from selenium import webdriver
import urllib.request as ur
import requests
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time

 

- 원하는 데이터를 크롤링 하는 get_data() 함수 구현

def get_data():
    html = wd.page_source
    soup = BeautifulSoup(html, 'html.parser')
    div_lists = soup.select('#rso>div')
    for div in div_lists:
        try:
            print(div.find('h3').string)
        except:
            pass

 

- google 검색창에 검색어를 입력하고 전송하는 기능 구현하기

wd = webdriver.Chrome() # 웹드라이버 로드
wd.get("https://www.google.com") # 구글 사이트 오픈
time.sleep(1) # 사이트 로딩 완료될 때 까지 잠시 대기
search_el = wd.find_element(By.XPATH,'//*[@id="APjFqb"]') # 검색창 엘리먼트 가져오기
search_el.send_keys('삼일절') # 엘리먼트에 검색어 입력하기
search_el.send_keys(Keys.RETURN) # 엔터키 전송 
time.sleep(1) # 사이트 로딩 완료될 때 까지 잠시 대기
get_data() # 검색 내용 크롤링
# wd.close() # 사이트 닫기