도매 사이트 상품 이미지를 자동으로 긁어오는 툴을 AI랑 같이 만들던 중이었어요. 코드가 어느 정도 완성돼서 "이거 어떻게 작동하는 거야?" 하고 궁금해서 AI한테 물어봤더니, 설명 중에 생전 처음 보는 단어들이 쏟아지기 시작했습니다.
BeautifulSoup, Selenium, Pandas...
이게 뭔 소린가 싶었어요. 요리 재료인지, 소프트웨어인지, 아니면 그냥 AI 본인이 막 지어낸 건지. 저는 IT는 완전 비전공이고, 그냥 유튜브 보면서 파이썬 문법 조금 찍어먹어 본 게 전부거든요. 근데 코드를 설명해달랬더니 이 이름들을 줄줄이 말해놨더라고요. 무시하고 그냥 쓰면 되는 건지, 알아야 하는 건지도 모르겠고.
1. 몰라서 생기는 문제가 아니에요
저도 처음엔 내가 너무 모르는건가 생각했어요. 주변에 개발 하는 친구한테 물어보니까 "야 그건 기본적으로 알아야지" 하는 반응을 보여서 살짝 위축됐고요. 근데 생각해보면 모르는게 당연한 거잖아요. 저는 코딩을 배우려고 시작한 게 아니라, 내가 필요한 툴을 만들려고 AI 붙잡은 거니까요.
비전공자가 이 단어들을 처음 들었을 때 막막한 건 능력 문제가 아니에요. 그냥 아무도 쉽게 설명해준 사람이 없었던 거죠. 저도 검색해봤는데, 나오는 글들이 전부 "라이브러리는 재사용 가능한 코드의 모음입니다" 같은 교과서 문장들이라 더 어렵게 느껴졌어요.
그래서 오늘도 Gemini에게 물어봤죠. 알고 보니 별거 아니었어요. 라이브러리는 그냥 남이 만들어놓은 전문 도구예요. 가구를 만들려는데 처음부터 망치 만들 필요 없이, 철물점에서 전동 드릴 사다 쓰는 것처럼요. 제가 만든 URL 크롤러 만들 때 사용된 핵심 도구가 딱 3가지 있었고, 각각 역할이 완전히 달랐습니다.
2. 내가 만든 프로그램에 쓰인 라이브러리의 역할
실제로 라이브러리라는 도구 상자는 거의 수천, 수만개나 있다고 하네요. 하지만 그 많은 것들을 모두 알아볼 수 없으니 저는 실제로 저의 프로그램을 만들때 사용되었던 라이브러리에 대해서만 알아보려구요. 이를 통해 라이브러리가 어떤 역할을 할 수 있고, 어떻게 쓰인다는 것을 한번 알아보려합니다.

BeautifulSoup: "정보 뽑아내는 집게"
제가 만든 URL 크롤링 도구의 코드를 AI한테 분석해달라고 했더니, 이 라이브러리가 이미 들어가 있었어요. 웹사이트 소스코드는 알고 보면 엄청난 양의 텍스트 덩어리거든요. 그 안에서 내가 필요한 데이터인 이미지 주소, 상품명, 가격만 콕 집어내는 역할을 하는 게 BeautifulSoup입니다.
거대한 쓰레기더미에서 가치있는 물건만 찾아내는 자석같아요. 페이지가 한 번에 다 뜨는 정적인 사이트에서 데이터 빠르게 뽑을 때 쓴다고 AI가 설명해줬어요.
Selenium: "사람 흉내 내는 로봇"
여기서 제가 처음 크게 막혔어요. 처음에 BeautifulSoup만 써서 이미지를 긁으려고 했는데, 특정 도매 사이트에서는 아무것도 안 나오는 거예요. 분명히 상품 이미지가 있는데, 코드를 돌리면 빈 결과만 나왔습니다.
AI한테 왜 그런지 물어봤더니 "이 사이트는 JavaScript로 상품이 로딩되는 동적 사이트라서, 브라우저가 직접 페이지를 실행해야 데이터가 보입니다"라고 설명해줬어요. 그래서 처음 만든 코드를 세 번이나 다시 짰고, 결국 Selenium을 추가하고 나서야 이미지가 제대로 뽑히기 시작했죠.
Selenium은 실제 크롬 브라우저를 뒤에서 몰래 띄워서, 사람처럼 클릭하고 스크롤하고 로그인까지 합니다. 내가 잘 때 대신 마우스 움직여주는 로봇 팔이라고 생각하면 돼요.
실제로 제가 사용하는 도매사이트도 로그인을 해야하고, 스크롤을 끝까지 내려야만 상품이미지가 로딩되어 크롤링이나 이미지 저장이 안되는 문제가 있었어요. 하지만 Antigravity가 알아서 추천해준 이 도구를 통해 문제를 수월하게 수정할 수 있었죠.
Pandas: "전문 비서 같은 엑셀 정리 도구"
데이터를 뽑는 데 성공하고 나서 다음 문제가 생겼어요. 상품 이름 수백 개, 이미지 주소 수백 개가 터미널에 텍스트로 쭉 나오는데, 이걸 그냥 저에게 던져주면 의미가 없죠. 제가 그 많은 정보를 하나씩 정리할 순 없잖아요.
Pandas가 이걸 해결해줬습니다. 흩어진 영수증들을 순식간에 깔끔한 회계 장부로 만들어주는 전문 비서 같은 거예요. 제가 크롤링한 데이터를 표 형식으로 정리해서 엑셀 파일로 저장해주는 역할을 하죠.
코드 한 줄 추가하고 나서 .xlsx 파일이 뚝딱 생성됐을 때, 솔직히 그게 제일 감탄스러웠어요. "아 이래서 프로그래밍을 배우는 거구나" 하는 순간이었달까요.
그래서 지금 내 코드엔 뭐가 들어있냐면
AI한테 "지금 내 코드에서 import 뒤에 써있는 라이브러리들이 각각 어떤 기능을 담당하고 있어?"라고 물어보니까 딱 정리해줬어요. 제 코드에는 세 개 다 들어있었고, Selenium이 페이지를 열면 BeautifulSoup이 정보를 골라내고, Pandas가 파일로 만드는 구조였습니다.
물론 이 외에도 많은 도구들이 사용됐어요. 파이썬 엔진과 UI화면을 연결해주는 Eel, 브라우저 종류에 관계없이 주소창에 적힌 URL을 전부 가져올 수 있는 uiautomation, 크롤링할 때 사용하는 행동을 인식해주는 ctypes & win32 API, 데이터를 수집하고 엑셀에 저장하는 동안에도 제가 다른 버튼을 누를 수 있게 해주는 Threading 등. 많은 도구들이 제가 인식하지 못한 사이에 AI를 통해 사용되고 있었어요.
이렇게 많은 도구들이 사용되었지만 위의 세 가지 도구들만 자세히 알려드린건 저 도구들이 가장 인상깊었고, 라이브러리에 대한 이해를 돕는데 가장 효과적일거라 생각했기 때문이에요.
그리고 이 도구들에 대해 알고 나니까 에러가 났을 때 훨씬 대처가 쉬워졌어요. 어느 도구가 문제인지 대충 감이 잡히거든요. 이미지가 안 뽑힌다 → Selenium 문제일 수 있다, 파일이 안 만들어진다 → Pandas 쪽을 봐야 한다, 이런 식으로요.
3. 이런 분들한테 맞는 글이에요
이런 분께 도움이 될 것 같아요
- 크롤러나 자동화 툴을 AI랑 만들어봤는데 코드 구조를 이해하고 싶은 분
- import 뒤에 단어들이 뭔지 궁금했던 분
- 코딩은 모르지만 내 필요에 맞는 툴을 직접 만들고 싶은 분
이런 분께는 별로 도움 안 될 것 같아요
- 이미 라이브러리 개념을 알고 더 심화 내용을 원하시는 분
- 설치나 환경 세팅 방법을 찾고 계신 분
4. 총평
| 진입 장벽 | ★★★★☆ | 이름이 낯설 뿐, 개념 자체는 어렵지 않아요 |
| 실전 유용성 | ★★★★★ | 이 세 가지만 알면 크롤러 80%는 만들 수 있음 |
| AI 활용도 | ★★★★★ | 도구 이름만 알면 AI 명령이 훨씬 정확해짐 |
| 학습 시간 | ★★★★☆ | 개념 파악은 30분, 익숙해지는 건 써봐야 앎 |
| 비용 | ★★★★★ | 세 라이브러리 모두 무료 |
5. 지금 바로 해볼 수 있는 것
Claude, Gemini같은 AI에게 이렇게 한번 물어보세요. 저도 처음에 이 질문 하나로 코드 구조가 확 정리됐거든요.
"지금 내 코드에서 import 뒤에 써있는 라이브러리들이 각각 어떤 기능을 담당하고 있어? 집게(BeautifulSoup)인지, 로봇 팔(Selenium)인지, 전문 비서(Pandas)인지 구분해서 알려줘."
아직 만든 코드가 없어도 괜찮아요. Antigravity나 Claude code에 접속해서 "도매 사이트 이미지 자동 수집 코드 만들어줘, 사용한 라이브러리 역할도 설명해줘"라고 입력하면 바로 시작할 수 있습니다.
Q & A
Q1. 이 라이브러리들 설치하는 게 어렵지 않나요? 생각보다 훨씬 간단해요. 터미널 열고 pip install beautifulsoup4 selenium pandas 이렇게 한 줄 입력하면 세 개 다 한 번에 설치됩니다. 저도 처음엔 무서웠는데 5분도 안 걸렸어요.
Q2. 세 개 다 그냥 사용해도 되는건가요? 네, 전부 무료 오픈소스입니다. 상업적으로 써도 됩니다.
Q3. 파이썬을 아예 모르면 써먹을 수 없나요? 저도 거의 모르는 상태에서 AI한테 코드 짜달라고 해서 쓰고 있어요. 라이브러리 이름과 역할만 알면 AI한테 정확하게 명령할 수 있고, 그러면 코드는 AI가 다 짜줍니다.
Q4. BeautifulSoup랑 Selenium 중 뭘 써야 하나요? 사이트를 열었을 때 내용이 바로 다 보이면 BeautifulSoup(정적), "더보기" 버튼을 눌러야 나오거나 로그인이 필요하면 Selenium(동적)이에요. AI한테 "이 사이트가 정적인지 동적인지 확인해줘"라고 물어봐도 됩니다.
Q5. 이 세 개 외에 다른 라이브러리도 알아야 하나요? 수 많은 라이브러리가 있지만, 크롤러 기준으로는 이 세 가지면 대부분 해결돼요. 나중에 속도가 중요해지면 requests, aiohttp 같은 게 나오는데, 그건 필요할 때 배워도 늦지 않습니다.
Q6. 도매 사이트에서 크롤링하면 법적으로 문제없나요? 사이트마다 이용약관이 달라서 꼭 확인해보셔야 해요. 개인 용도, 비상업적 목적이라도 일부 사이트는 크롤링을 금지하고 있습니다. 저는 사용 전에 해당 사이트 약관을 먼저 읽어봤어요.
Q7. Pandas 없이 그냥 텍스트 파일로 저장하면 안 되나요? 됩니다. 다만 나중에 상품 수백 개 데이터를 필터링하거나 정렬하려고 할 때 엑셀이 훨씬 편해요. Pandas 배우는 데 코드 두세 줄이면 충분하니 처음부터 쓰는 게 낫더라고요.