오늘은 VSCode에서 Colab, Jupyter, Python을 어떻게 연결해서 쓰는지 실습했다. 처음에는 Colab 터미널과 내 컴퓨터의 WSL/PowerShell이 헷갈렸고, bs4 설치 경고와 /content 경로도 낯설었다.
이번 글은 오늘 대화하면서 정리한 내용을 기준으로, VSCode에서 Colab 노트북을 만들고 실행하는 방법부터 Python 패키지 설치, 경고 해석, 그리고 어떤 작업을 Colab에서 하고 어떤 작업을 내 컴퓨터에서 해야 하는지까지 정리한 기록이다.
핵심: Colab은 분석과 실험 공간이고, WSL/PowerShell은 내 컴퓨터 브라우저 자동화를 실행하는 공간이다.
1. VSCode에서 설치해야 할 확장
VSCode에서 Colab을 사용하려면 먼저 확장을 설치해야 한다.
필수 확장
- Colab by Google
- Python by Microsoft
- Jupyter by Microsoft
캡처에서 봤던 확장 목록 중 가장 위에 있던 Colab – Connect notebooks to Colab servers가 Google 공식 확장이었다. 이 확장을 설치하면 VSCode 안에서 Colab 서버에 노트북을 연결해서 사용할 수 있다.
Checklist: 설치할 확장
1. Colab by Google
2. Python by Microsoft
3. Jupyter by Microsoft
이 설정의 역할
Colab 확장은 Google Colab 서버와 연결하는 역할을 하고, Python/Jupyter 확장은 VSCode에서 .ipynb 노트북을 열고 Python 셀을 실행할 수 있게 해준다.
2. No assigned Colab servers의 의미
Colab 확장을 설치한 뒤 왼쪽 Colab 패널에 아래 문구가 보였다.
Message: Colab 패널 상태
No assigned Colab servers.
이 메시지의 의미
이건 오류가 아니다. 아직 VSCode 노트북이 Colab 런타임에 연결되지 않았다는 뜻이다.
즉, Colab 확장은 설치되어 있지만 아직 실행 중인 노트북 서버가 없다는 상태다. 새 .ipynb 파일을 만들고 Colab 커널에 연결하면 된다.
3. Colab 노트북 파일 만들기
오늘 만든 실습 파일 이름은 다음과 같았다.
File name: 실습 노트북
naver_html_lab.ipynb
VSCode에서 새 파일을 만들 때 확장자를 .ipynb로 저장하면 Jupyter 노트북 화면으로 열린다.
권장 파일 이름
naver_html_lab.ipynbhealthcare_post_builder_lab.ipynbdevtools_selector_lab.ipynb
실습 목적에 따라 이름을 붙이면 나중에 다시 보기 좋다.
4. Colab 런타임 연결하기
.ipynb 파일을 열고 오른쪽 위의 커널 선택 버튼을 누른다.
Steps: Colab 커널 연결 순서
1. .ipynb 파일 열기
2. 오른쪽 위 Select Kernel 또는 커널 선택 클릭
3. Select Another Kernel 선택
4. Colab 선택
5. New Colab Server 선택
6. Google 계정 로그인
7. 노트북 셀 실행
이 과정의 역할
VSCode에서 작성한 노트북을 Google Colab 서버에 연결한다. 연결이 되면 내 컴퓨터가 아니라 Colab 서버에서 Python 코드가 실행된다.
5. Colab 연결 확인하기
처음 연결 후 아래 코드를 실행했다.
Code snippet 1: Colab 연결 확인
print("Colab 연결 성공")
이 코드의 역할
노트북 셀이 정상 실행되는지 확인한다. 출력이 보이면 Python 커널이 연결된 것이다.
또 다른 확인 방법으로 터미널 명령을 실행했다.
Code snippet 2: Colab 파일 목록 확인
!ls
실행 결과는 다음과 같았다.
Result: Colab 기본 폴더
sample_data
이 결과의 의미
sample_data는 Colab에 기본으로 들어있는 폴더다. 이 결과가 보이면 현재 셀은 Colab 환경에서 실행되고 있는 것이다.
6. Colab 터미널의 /content 의미
Colab 터미널에서 프롬프트가 이렇게 보였다.
Terminal: Colab 현재 위치
/content#
이 경로의 의미
/content는 Colab 런타임 안의 작업 폴더다. 내 컴퓨터의 WSL 경로와는 전혀 다르다.
그래서 Colab 터미널에서 아래 명령을 실행하면 실패한다.
Wrong example: Colab에서 WSL 경로로 이동 시도
cd /home/misoh/projects/Beginner-track
실제로 이런 오류가 났다.
Error: Colab에는 WSL 경로가 없음
No such file or directory
Could not read package.json
open '/content/package.json'
이 오류의 의미
Colab은 클라우드 서버이기 때문에 내 컴퓨터의 /home/misoh/projects/Beginner-track 폴더를 모른다. Playwright로 내 컴퓨터의 Chrome을 조작하는 스크립트는 Colab에서 실행하면 안 된다.
7. Colab과 WSL/PowerShell 역할 구분
| 환경 | 하는 일 | 예시 |
|---|---|---|
| Colab | Python 분석, HTML 파싱, 템플릿 생성 | BeautifulSoup으로 네이버 HTML 분석 |
| WSL | 프로젝트 파일 관리, Node/Playwright 실행 | /home/misoh/projects/Beginner-track |
| PowerShell | Windows에서 WSL 명령 실행, Chrome 자동화 실행 | run-naver-upload-windows.cmd |
오늘 가장 헷갈렸던 지점이 바로 이것이었다. Colab에서 실행할 코드와 내 컴퓨터에서 실행할 코드를 구분해야 한다.
8. BeautifulSoup 설치하기
네이버 에디터 HTML 구조를 분석하기 위해 BeautifulSoup을 사용했다.
처음에는 VSCode에서 아래 경고가 보였다.
Warning: bs4 import 경고
가져오기 "bs4"을(를) 확인할 수 없습니다.
Pylance(reportMissingImports)
이 경고의 의미
VSCode의 Python 분석 도구인 Pylance가 현재 환경에서 bs4 패키지를 찾지 못했다는 뜻이다. 실제 Colab 런타임에는 설치되어 있을 수도 있고, 없으면 설치하면 된다.
Jupyter/Colab에서는 !pip install보다 %pip install을 쓰는 것이 권장된다.
Code snippet 3: BeautifulSoup 설치
%pip install beautifulsoup4
이 코드의 역할
현재 노트북 커널에 beautifulsoup4 패키지를 설치한다. 설치 후에는 from bs4 import BeautifulSoup을 사용할 수 있다.
설치 결과가 이렇게 나올 수도 있다.
Result: 이미 설치되어 있는 경우
Requirement already satisfied: beautifulsoup4
이 메시지는 오류가 아니다. 이미 설치되어 있다는 뜻이다.
9. BeautifulSoup import 테스트
설치 후 아래 코드를 실행했다.
Code snippet 4: BeautifulSoup import 확인
from bs4 import BeautifulSoup
print("BeautifulSoup 준비 완료")
이 코드의 역할
bs4 패키지가 정상적으로 설치되어 있고, 현재 노트북에서 import 가능한지 확인한다.
10. 네이버 인용구 HTML 분석 실습
Colab에서는 DevTools에서 복사한 HTML을 붙여넣고 구조를 분석할 수 있다.
Code snippet 5: 네이버 인용구 HTML 분석
from bs4 import BeautifulSoup
html = """
<div class="se-quotation-container">
<div class="se-module se-module-text se-quote">
<p class="se-text-paragraph">내용을 입력하세요.</p>
</div>
<div class="se-module se-module-text se-cite">
<p class="se-text-paragraph">출처 입력</p>
</div>
</div>
"""
soup = BeautifulSoup(html, "html.parser")
for tag in soup.find_all(True):
print(tag.name, tag.get("class"))
이 코드의 역할
HTML 문자열을 파싱해서 태그 이름과 class 목록을 출력한다. DevTools에서 본 복잡한 HTML을 Colab에서 분석하기 쉽게 바꾸는 과정이다.
실행 결과는 다음과 같았다.
Result: HTML 구조 분석 결과
div ['se-quotation-container']
div ['se-module', 'se-module-text', 'se-quote']
p ['se-text-paragraph']
div ['se-module', 'se-module-text', 'se-cite']
p ['se-text-paragraph']
이 결과를 보면 어떤 class가 인용구 전체를 의미하고, 어떤 class가 본문과 출처를 의미하는지 알 수 있다.
11. 선택자 후보 만들기
HTML에서 class를 뽑아 자동화 선택자 후보로 바꿀 수도 있다.
Code snippet 6: class를 선택자로 변환
selectors = []
for tag in soup.find_all(True):
classes = tag.get("class")
if classes:
selector = "." + ".".join(classes)
selectors.append(selector)
for selector in selectors:
print(selector)
이 코드의 역할
각 태그의 class 목록을 CSS 선택자 형태로 바꾼다.
예를 들어:
Result: 선택자 후보
.se-quotation-container
.se-module.se-module-text.se-quote
.se-text-paragraph
.se-module.se-module-text.se-cite
.se-text-paragraph
이 선택자들은 다시 Chrome DevTools Console에서 테스트할 수 있다.
Code snippet 7: Console에서 선택자 테스트
document.querySelector(".se-quotation-container")
이 코드의 역할
Colab에서 만든 선택자 후보가 실제 네이버 페이지에서도 작동하는지 확인한다. 이 흐름이 오늘 공부한 핵심 연결이다.
12. Colab에서 하면 좋은 실습
Colab은 브라우저 버튼을 직접 클릭하는 자동화보다는, HTML 분석과 템플릿 생성에 잘 맞는다.
- DevTools에서 복사한 HTML 분석
- class 목록 추출
- 선택자 후보 만들기
- 네이버 카페용 안전 HTML 템플릿 생성
- WordPress용 HTML 템플릿 생성
- 학습 기록 초안 자동 생성
13. Colab에서 하면 안 맞는 작업
반대로 아래 작업은 Colab보다 내 컴퓨터의 WSL/PowerShell에서 해야 한다.
- Playwright로 Windows Chrome 열기
- 네이버 카페 글쓰기 화면 조작
- 파일 업로드 자동화
- 로컬 다운로드 폴더 이미지 사용
- 기존 Chrome 세션과 연결하는 작업
Colab은 클라우드에 있으므로 내 컴퓨터의 Chrome이나 다운로드 폴더를 직접 제어하지 못한다.
14. 오늘 정리한 실행 위치
| 명령 | 실행 위치 |
|---|---|
%pip install beautifulsoup4 |
VSCode Colab 노트북 셀 |
from bs4 import BeautifulSoup |
VSCode Colab 노트북 셀 |
document.querySelector(...) |
Chrome DevTools Console |
npm run naver:cafe:upload-image |
WSL 또는 Windows 실행 스크립트 |
run-naver-upload-capturex-keep-open.cmd |
PowerShell |
15. 오늘의 실습 흐름
- VSCode에서 Colab 확장 설치
naver_html_lab.ipynb생성- Colab 커널 연결
!ls로 Colab 연결 확인%pip install beautifulsoup4실행BeautifulSoupimport- 네이버 에디터 HTML 붙여넣기
- 태그와 class 분석
- 선택자 후보 생성
- Chrome DevTools Console에서 선택자 검증
- 검증된 선택자를 Playwright 자동화 코드로 연결
16. 오늘 배운 점
- VSCode에서 Colab을 쓰려면 Colab, Python, Jupyter 확장이 필요하다.
No assigned Colab servers는 오류가 아니라 아직 연결된 Colab 서버가 없다는 뜻이다./content는 Colab 서버 안의 폴더이고, 내 WSL 프로젝트 폴더가 아니다.%pip install은 Jupyter/Colab에서 패키지를 설치할 때 권장되는 방식이다.- Pylance의
bs4경고는 VSCode 분석기 기준 경고일 수 있고, 실제 실행 여부는 노트북 셀에서 확인해야 한다. - Colab은 HTML 분석과 템플릿 생성에 좋고, 브라우저 자동화는 내 컴퓨터에서 실행해야 한다.
- DevTools, Colab, Playwright를 연결하면 화면 분석부터 자동화까지 이어갈 수 있다.
이번 실습의 결론: Colab은 분석 실험실, DevTools는 화면 해부 도구, Playwright는 실제 자동화 실행 도구다.
다음 실습 계획
- 네이버 카페 제목 입력 영역 HTML 분석
- 본문 입력 영역 선택자 찾기
- Colab에서 네이버용 HTML 템플릿 생성기 만들기
- 생성된 HTML을 네이버 카페 본문에 붙여넣는 자동화 실습
- WordPress용 템플릿과 네이버용 템플릿 분리하기