insta browser class - 1: init

IT/크롤링 2025. 1. 10. 01:12

 

인스타 크롤링을 위한 브라우저 세팅을 위한 설정 클래스 기초 구성

 

""
title: selenium web driver custom class
author: ===
date: 250109
description
selenium webdriver custom class for instagram scraping
- init logic
-- selenium webdriver
-- user account data
- login logic
- parse logic
"""

from selenium import webdriver


class InstaBrowser:
  def __init__(self, browser_driver):
    self.url = 'https://www.instagram.com'
    self.browser_driver = browser_driver


  def init_browser_driver(self, options_args = []):
    """
    init selenium web driver using options args list
    """
    self.browser_driver_options = webdriver.ChromeOptions()
    for opt in options_args:
      self.browser_driver_options.add_argument(opt)
    

  def oopen_insta_browser(self):
    assert self.browser_driver_options is not None, "init_browser_driver first"

    pass
  


# web driver options
# cache, broswer full screen, webdriver flags off
options = [
  "user-data-dir=./user-data",
  "--start-maximized",
  "--disable-blink-features=AutomationControlled"
]
insta_browser = InstaBrowser(browser_driver=webdriver)
insta_browser.init_browser_driver(options)
insta_browser.oopen_insta_browser()

 

 

selenium에 이미 web driver라는 명칭을 사용하고 있어, 혼동을 줄이기 위해, browser를 사용했다.

 

init_browser_driver()

option을 사용하기 위해, selenium의 option을 그대로 사용할 수 있도록 하고, options 값들을 리스트화하여 메소드로 넘겨 초기화를 할 수 있게 했다.

 

open_insta_browser()

추후 작업을 할 생각이며, url의 주소로 창을 열고, 열기 전에 option을 설정했는지 그 여부를 확인하기 위해 assert를 사용했다.