들어가며
파이썬으로 크롤링을 하거나, 인스타그램, 비트코인 관련 자동화 솔루션을 진행하다 보니, 항상 실행시에 웹 브라우저가 자동으로 뜨게되는 현상이 발생하게 되고, 이를 방지하는 옵션을 찾아서 공유드립니다.
혹시나, 진행하고 있는 파이썬 인스타그램 자동 좋아요 봇 만들기가 궁금하시면 아래 게시물 보시는걸 추천드립니다.
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 옵션을
추가한다.
'IT > Python' 카테고리의 다른 글
Python Error - Failed to establish a new connection: [WinError 10061] (3) | 2021.10.10 |
---|---|
Python Error - UnicodeDecodeError : 'utf8' codec can't decode byte 0xeb in position 0 (16) | 2021.10.07 |
파이썬 1줄 코드 중간에 주석 달기 (2) | 2021.08.22 |
티스토리 RSS 클리핑 하기 (4) | 2021.03.29 |
파이썬 vscode 설치 및 환경설정하기 (0) | 2020.08.24 |
댓글