MechanicalSoup/MechanicalSoup
브라우저 엔진 없이 쿠키 저장, 링크 이동, 폼 제출 등 웹사이트 상호작용을 자동화하는 Python 라이브러리입니다.
- 스타
- 4,901
- 포크
- 406
- 열린 이슈
- 40
- 마지막 커밋
- 30일 전
어떤 프로젝트인가요?
MechanicalSoup은 웹사이트와의 상호작용을 스크립트로 처리하는 Python 라이브러리입니다. 쿠키를 자동으로 저장하고 전송하며, 리디렉션과 링크를 따라가고 HTML 폼을 작성해 제출하므로 스크립트로 브라우저에서 사용자처럼 사이트를 탐색할 수 있습니다.
이 라이브러리는 HTTP 세션에 Requests를, HTML 문서의 파싱과 탐색에 BeautifulSoup을 사용합니다. API는 오래전에 개발이 정체됐고 2019년까지 Python 3에서 사용할 수 없었던 구형 Mechanize 라이브러리를 본떴습니다. MechanicalSoup은 JavaScript를 실행하지 않으므로 콘텐츠와 폼을 일반 HTML로 제공하는 사이트에 적합합니다.
이 프로젝트는 Python 3와 PyPy3를 지원하며 PyPI에서 설치할 수 있습니다. 저장소의 예제에서는 사이트에서 검색을 실행하고 결과를 읽는 방법과 체크박스, 라디오 버튼, 텍스트 영역이 있는 폼을 처리하는 방법을 보여 줍니다.
핵심 기능
- 01요청 간 쿠키를 자동으로 저장하고 전송합니다.
- 02리디렉션을 따라가고 페이지의 링크를 탐색합니다.
- 03체크박스, 라디오 버튼, 텍스트 영역을 포함한 HTML 폼을 작성하고 제출합니다.
- 04Requests와 BeautifulSoup을 기반으로 하며, Mechanize와 유사한 API를 제공합니다.
- 05Python 3와 PyPy3에서 실행됩니다.
활용 사례
- 서버에서 렌더링되는 웹사이트의 검색 결과나 데이터를 스크래핑합니다.
- 웹사이트에서 반복적으로 폼을 제출하는 작업을 자동화합니다.
- Python 스크립트로 웹 애플리케이션의 로그인 및 폼 처리 흐름을 테스트합니다.
빠른 시작
- 1
PyPI에서 최신 릴리스를 설치합니다
pip install MechanicalSoup - 2
Qwant를 검색하고 결과를 출력하는 예제 스크립트를 실행합니다
사용 전 알아둘 점
- JavaScript를 실행하지 않으므로 JavaScript로 렌더링되는 페이지는 작동하지 않습니다.
토픽
자주 묻는 질문
- MechanicalSoup은(는) 무엇인가요?
- 브라우저 엔진 없이 쿠키 저장, 링크 이동, 폼 제출 등 웹사이트 상호작용을 자동화하는 Python 라이브러리입니다. MechanicalSoup은 웹사이트와의 상호작용을 스크립트로 처리하는 Python 라이브러리입니다. 쿠키를 자동으로 저장하고 전송하며, 리디렉션과 링크를 따라가고 HTML 폼을 작성해 제출하므로 스크립트로 브라우저에서 사용자처럼 사이트를 탐색할 수 있습니다.
- MechanicalSoup은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- MechanicalSoup은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- MechanicalSoup은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. MechanicalSoup의 마지막 커밋은 2026년 10월 7일입니다.
- MechanicalSoup은(는) 어디에 사용할 수 있나요?
- 서버에서 렌더링되는 웹사이트의 검색 결과나 데이터를 스크래핑합니다. 웹사이트에서 반복적으로 폼을 제출하는 작업을 자동화합니다. Python 스크립트로 웹 애플리케이션의 로그인 및 폼 처리 흐름을 테스트합니다.
- MechanicalSoup는 어떻게 설치하나요?
- PyPI에서 최신 릴리스를 설치합니다: pip install MechanicalSoup Qwant를 검색하고 결과를 출력하는 예제 스크립트를 실행합니다
- MechanicalSoup은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/MechanicalSoup/MechanicalSoup
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
HTTP 및 헤드리스 브라우저 모드, 프록시 로테이션, 영구 저장소를 지원하는 안정적인 웹 크롤러와 스크레이퍼 구축용 Python 라이브러리입니다.
concurrent.futures를 사용해 HTTP 요청을 비동기로 보내는 Python requests 라이브러리용 소형 애드온입니다.
브라우저 자동화와 HTTP 패킷 전송을 지원하는 Python 웹 자동화 라이브러리로, 브라우저 제어의 편리함과 requests 방식의 효율을 결합합니다.
Selenium 기반 브라우저 자동화용 Python 라이브러리로, selector 대신 화면에 표시되는 레이블로 요소를 지정합니다.
웹 작업을 자동화하고 사이트 데이터를 추출하는 브라우저 사이드 패널 AI 어시스턴트이자, 코딩 에이전트가 브라우저를 제어하도록 해주는 브리지입니다.