웹크롤링은 'Web Crawling' 또는 'Web Scraping' 으로 불리며 프로그램이 자동으로 웹 페이지에서 사용자가 원하는 정보를 가져올 수 있도록 구현하는 방법들을 통칭합니다.
이번글에서는 파이썬을 이용하여 간단한 웹크롤링 코드를 통해 구글검색의 결과를 자동으로 가져오는 방법을 소개합니다. 이를 응용하면 검색 결과뿐 아니라 특정 사이트의 각종 데이터들속에서 자신이 원하는 정보만 가져와서 보여줄 수 있습니다.
아래 RP2040 환경설정 페이지의 다운로드 프로그램 세션에서 Python 3.9 설치 를 참고하여 파이썬을 설치한다.
https://sundry-notes.tistory.com/4
2-1. 최신 PIP 설치
CMD 프롬프트에서 아래 명령어를 통해 PIP를 최신 버전으로 업데이트한다.
pip install --upgrade pip
2-2. Selenium 설치
CMD 프롬프트에서 아래 명령어를 통해 Selenium 을 설치한다.
pip install selenium
2-3. Chromedriver 설치
CMD 프롬프트에서 아래 명령어를 통해 chromedriver를 설치한다.
pip install chromedriver-autoinstaller
2-4. BeautifulSoup4 설치
CMD 프롬프트에서 아래 명령어를 통해 BeautifulSoup4를 설치한다.
pip install beautifulsoup4
2-5. chromedriver.exe 다운로드
현재 사용중인 Chrome 버전에 맞는 chromedriver 를 다운로드 한다.
사용중인 Chrome 버전은 오른쪽 상단 메뉴 > 설정 > Chrome 에서 확인할 수 있다.
다운로드 링크: https://chromedriver.chromium.org/downloads
간단한 파이썬 웹 크롤링 코드를 통해 Google에서 검색된 글의 제목 및 링크를 가져올 수 있다.
chromedriver 의 경우 chromedriver.exe 파일을 원하는 경로로 이동한 후 그 경로를 webdriver.Chrome 에 입력하면 된다.
from urllib.parse import quote_plus
from bs4 import BeautifulSoup
from selenium import webdriver
baseUrl = 'https://www.google.com/search?q='
plusUrl = input('검색어를 입력하세요: ')
url = baseUrl + quote_plus(plusUrl)
# chromedriver path input
driver = webdriver.Chrome('C:\chromedriver_win32\chromedriver')
driver.get(url)
driver.implicitly_wait(10)
html = driver.page_source
soup = BeautifulSoup(html)
v = soup.select('.yuRUbf')
for i in v:
print(i.select_one('.LC20lb.DKV0Md').text)
print(i.a.attrs['href'])
print()
print('done')
driver.close()
파이썬을 실행 후 아래와 같이 '검색어를 입력하세요:' 이후 원하는 검색어를 입력하면 google 페이지에서 해당 검색어를 통해 검색한 것과 동일한 결과의 제목 및 링크를 확인할 수 있다.
댓글 영역