웹 스크래핑을 더 쉽고 빠르게! 가장 인기 있는 4가지 도구 비밀 공개

인기 있는 웹 스크래핑 도구 4가지(Selenium, Undetected Chromedriver, Playwright, Pyppeteer)에 대한 개요를 확인해보세요. 각 도구의 장점과 단점, 그리고 데이터 추출 프로세스를 개선하는 데 가장 적합한 사용 사례를 다룹니다.

0. 개요

웹 스크래핑(크롤링)을 할 때 어떤 도구를 사용하느냐가 그 결과와 작업의 편의성에 크게 영향을 미칩니다. 이번 글에서는 이 분야에서 두각을 나타내고 있는 네 가지 주요 도구 Selenium, Undetected Chromedriver, Playwright, 그리고 Pyppeteer에 대해 소개해보려고 합니다.
 
 
notion image

1. Selenium: 노련한 베테랑, 그러나 점점 빛이 바래는 중

Selenium은 과거에 웹 스크래핑계의 대표주자였습니다. 원래는 웹 브라우저의 자동화와 테스팅을 목적으로 만들어진 이 도구는, 시간이 흐르며 안티 봇 소프트웨어의 발전에 취약해지는 단점이 드러났습니다. 일찍이 스크래핑 커뮤니티에서 많은 사랑을 받았던 Selenium이지만, 요즘엔 새로운 기능과 초점을 맞춘 다른 도구들이 등장함에 따라 그 매력이 떨어져가고 있습니다.
 
 
notion image

2. Undetected Chromedriver: 튜닝된 대안

표준 웹 드라이버에서 더 발전된 Undetected Chromedriver 입니다. 이 Python 라이브러리는 Selenium에 비해 더욱 강력하면서도 단순한 해법을 제시합니다. 특별히 수정과 컴파일을 거친 드라이버를 사용하고 있어, 탐지를 피하는 능력이 뛰어나다는 장점이 있습니다. 다만, 크롬 브라우저 업데이트가 될 때 수정과 컴파일 과정이 필요하기에 즉시 업데이트가 이루어지지 않는다는 단점이 존재합니다.
 
Undetected Chromedriver의 좀 더 자세한 내용은 아래 블로그를 참고하세요.
 
 
notion image

3. Playwright: 떠오르는 신성

2020년에 데뷔한 Playwright는 다기능성과 사용자 친화적인 인터페이스로 금방 주목을 받았습니다. 다양한 브라우저를 지원하고, 환경 설정도 유연해서 많은 개발자들이 찾고 있는 스크래핑 도구로 부상했습니다.
Playwright는 본래 웹 스크래핑을 위해 설계된 것은 아니지만, 브라우저와 설정을 적절히 조합하면 이 영역에서 탁월한 성능을 발휘합니다. 이 도구는 기본 크롬 사용부터 GoLogin과 같은 호환되는 탐지 방지 브라우저 선택에 이르기까지 다양한 스크래퍼 옵션을 제공합니다. 번들 브라우저를 사용자 정의하기 위한 플러그인 업데이트가 부족함에도 불구하고 Playwright는 개발자에게 신뢰할 수 있는 선택으로 입증되어 많은 개발자가 선호하는 도구 목록에서 1위를 차지했습니다.
 
 
notion image

4. Pyppeteer: 매력적인 대안

마지막으로, Pyppeteer는 원래의 Puppeteer를 Python으로 포팅한 버전입니다. Puppeteer는 원래 Node.js 라이브러리이며, 국내에서 주로 사용되는 Selenium 보다 해외 개발자들에게 더 많은 인기가 있습니다. Pyppeteer 역시 스텔스 모드의 존재로 인해 스크래핑에 이용할 가치가 높습니다. 그러나 실제 테스트에서는 이 기능이 항상 제대로 작동하지 않아, 전체적인 성능에는 한계가 있습니다.
 
 
notion image

5. 파이썬 개발자들은 웹 스크래핑을 위해 어떤 도구를 사용할까?

커뮤니티 조사에 따른면 Scrapy가 54%로 1위를 차지 하였으며, Playwright와 Pyppeteer가 23%로 공동 2위를 차지 했습니다. Selenium은 4위로 가장 선호도가 낮은 도구입니다.
*Scrapy의 경우 API이기 때문에 본 포스팅에서는 따로 다루지 않았습니다.
 
 

6. 결론: 상황에 따라 유연하게 선택하자

웹 스크래핑의 성공은 선택한 도구에 큰 영향을 받습니다.
Selenium과 Undetected Chromedriver는 그 자체로도 충분한 장점이 있지만, Playwright와 Pyppeteer는 더 현대적인 기능과 유연성으로 인해 강력한 경쟁자로 부상하고 있습니다.
프로젝트의 요구 사항, 규모, 그리고 기술적 능력을 종합적으로 고려하여 하나의 툴에만 얽메이는 것이 아닌, 최적의 도구를 선택하는 것이 중요합니다.