라즈베리파이에서 크롤링을 위한 셀레니움(Selenium) 설정

1. 크롬드라이버 설치

pi@raspberrypi:~ $ sudo apt-get install chromium-chromedriver

2. 가상환경 생성

pi@raspberrypi:~ $ python -m venv .venv
pi@raspberrypi:~ $ source .venv/bin/activate

3. 셀레니움, BeautifulSoup4 설치

(.venv) pi@raspberrypi:~ $ pip install selenium
(.venv) pi@raspberrypi:~ $ pip install bs4

이제 아래 코드를 실행해서 'Google' 이라고 나오는지 확인한다.

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager

url = 'https://www.google.com'

options = Options()
options.add_argument('--headless=new')
options.add_argument('user-agent=Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/24.0 Chrome/117.0.0.0 Mobile Safari/537.36')
options.add_argument('lang=ko_KR')
options.add_argument('--incognito')
options.add_argument('--start-maximized')
options.add_argument('--window-size=430,932')
options.add_argument('--disable-gpu')
options.add_argument('--disable-infobars')
options.add_argument('--disable-extensions')
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_argument('--disable-automation')
options.add_argument('--no-sandbox')

# 라즈베리파이 aarch64 환경에서는 아래 코드가 정상 동작하지 않음
#service = Service(executable_path=ChromeDriverManager().install())
service = Service('/usr/bin/chromedriver')
driver = webdriver.Chrome(service=service, options=options)
driver.get(url)

print(driver.title)

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다