본문 바로가기
목차
Python

webbrowser 모듈 사용법

by ds31x 2025. 8. 7.
728x90
반응형

개요

webbrowser 모듈은

  • 사용자의 기본 웹 브라우저를 실행 (특정 웹브라우저도 지정사용가능하긴 함)하여
  • 특정 URL을 열 수 있도록 해주는
  • Python 표준 라이브러리임.

https://docs.python.org/3/library/webbrowser.html

 

webbrowser — Convenient web-browser controller

Source code: Lib/webbrowser.py The webbrowser module provides a high-level interface to allow displaying web-based documents to users. Under most circumstances, simply calling the open() function f...

docs.python.org


기본 사용법

import webbrowser

# 기본 브라우저에서 URL 열기
webbrowser.open("https://www.python.org")

주요 함수 요약

  • webbrowser.open(url, new=0, autoraise=True)
    • 브라우저로 URL 열기
    • new 인자 설명
      • 0 : 같은 창 (기본값)
      • 1 : 새 창
      • 2 : 새 탭
    • autoraise=True:
      • 브라우저가 가능하다면 화면의 맨 앞으로 올라오도록(focus) 요청하는 것임.
      • macOS 등에선 False 로 설정해도 맨 앞으로 열리는 경우 있음.
  • webbrowser.open_new(url)
    • 새 창으로 열기
  • webbrowser.open_new_tab(url)
    • 새 탭으로 열기
  • webbrowser.get(using=None)
    • 특정 브라우저 인스턴스 가져오기

query가 있는 url을 사용 한다면, space나 한글을 url에 맞게 인코딩해야함.

2025.08.06 - [Python] - urllib.parse.quote, urllib.parse.urlencode

 

urllib.parse.quote, urllib.parse.urlencode

urllib.parse.quote는 URL에서 한글 및 특수 문자를 퍼센트 인코딩(percent encoding)으로 변환하는 함수. URL에 대한 이해가 없다면 다음을 참고:https://dsaint31.tistory.com/entry/CE-URL-URI-and-UNC [CE] URL, URI and UNCURI o

ds31x.tistory.com


특정 브라우저 지정하여 사용

# Chrome 브라우저 지정
chrome = webbrowser.get(using='chrome')
chrome.open("https://www.google.com")

macOS 또는 Linux에서는 다음과 같이 전체 경로 지정도 가능:

firefox = webbrowser.get('/usr/bin/firefox %s')
firefox.open("https://github.com")
  • %s 는 url로 대체될 placeholder임.

참고: URL 유효성 검사 (브라우저를 열지 않음)

webbrowser 모듈 자체는 URL 유효성을 검사하지 않으므로, 유효성 검사는 requestsurllib 모듈을 활용해서 처리.

  • webbrowser는 단순히 url을 여는 용도만 지원.
  • 지원하는 기능이 너무 간단하여실제 웹 크롤링 등에서는 그리 많이 쓰이지 않음.
  • 단순히 하나의 페이지에서 데이터 추출 등은 requestsbeautifulsoup4 의 조합이 많이 사용되고
  • 전제적인 웹브라우저에 대한 제어를 통한 자동화 Selenium 이나 Playwright 등을 사용하는 방법이 주로 이용됨.

urllib 사용 (표준 라이브러리)하여 url의 유효성을 점검하는 방법은 다음을 참고:

from urllib.request import urlopen
from urllib.error import URLError

def is_url_valid(url):
    try:
        with urlopen(url):
            return True
    except URLError:
        return False

같이 보면 좋은 자료들

2025.08.07 - [Python] - show Naver map-Python

 

show Naver map-Python

입력된 주소(command line argument 또는 clipboard)를Naver map에서 열어서 위치를 보여주는 프로그램.0. 요구사항더보기요구사항을 프롬프트 형식으로 markdown문서로 작성해 봄.## 목적Python으로 간단한 유

ds31x.tistory.com

 

728x90