본문 바로가기
IT/Python

파이썬 크롤링 - 크롬화면 띄우지 않기

by 큰공 2021. 10. 4.
728x90
반응형

 

들어가며

 파이썬으로 크롤링을 하거나, 인스타그램, 비트코인 관련 자동화 솔루션을 진행하다 보니, 항상 실행시에 웹 브라우저가 자동으로 뜨게되는 현상이 발생하게 되고, 이를 방지하는 옵션을 찾아서 공유드립니다.

 

 혹시나, 진행하고 있는 파이썬 인스타그램 자동 좋아요 봇 만들기가 궁금하시면 아래 게시물 보시는걸 추천드립니다.

 

2020.08.26 - [IT/파이썬] - 파이썬 인스타그램 좋아요 봇 만들기 #1 Selenium

 

파이썬 인스타그램 좋아요 봇 만들기 #1 Selenium

개요  파이썬 자동화 프로그램을 만들어 자동으로 좋아요를 하는 봇을 만들어 보자  환경 : Windows 10 64bit / vscode 목표 Selenium / Web Drvier 를 이용하여 인스타그램에 창을 띄워보자. Selenium 이란? S..

coinpipe.tistory.com

 

코드

 코드는 단순합니다. wedriver 의 chrome 옵션 중 --headless 만 붙이면 크롬 웹브라우져를 띄우지 않고 마치 띄워진것처럼 동작을 할 수 가 있습니다.

options.add_argument('--headless')

 

사용하고 있는 풀 option 또한 공유드립니다.

options = webdriver.ChromeOptions()
options.add_argument("lang=ko_KR")
# options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-gpu')
options.add_argument("--disable-dev-shm-usage")
options.add_argument('--window-size=1920,1080')
# options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36')

browser = webdriver.Chrome('./chromedriver', chrome_options=options)

 

 위와 같이 해도 보통의 사이트는 괜찮으나, 인스타그램의 경우에는 이것이 webdriver 를 이용한 크롤링이라고 판단이 가능한거 같습니다. http request header의 User-Agent 변조하여, 웹서버가 이에 응답이 가능하도록 추가 옵션을 달아 봅니다.


 이 정보는 크롬 헤드리스 웹드라이버로 넘어가므로 똑똑한 웹서버는 이 정보를 보고 응답을 안해줄수도 있는데 이걸 피하기 위해 변조하기 위해 필요합니다.

options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36')

 

맺으며

 selenium webdriver 를 이용하여,

웹 자동화, 웹 크롤링을 수행하다가,

크롬 브라우저를 안보이게 띄우고 하고 싶을때는

add_argument 에

--headless 옵션, user-agent 옵션을

추가한다.

 

 

728x90
반응형

댓글8