파이썬자동화

[파이썬 자동화] 초보자 필수! 웹 크롤링 기초, 웹페이지 소스코드 1초 만에 가져오기 (requests 활용)

mumuverse 2026. 5. 18. 00:12

ADVERTISEMENT

안녕하세요! 지난 시간까지 엑셀과 파일을 다루는 자동화를 마스터해 보았습니다. 오늘부터는 자동화의 끝판왕이자 가장 흥미진진한 주제인 '웹 크롤링(Web Scraping)' 시리즈를 시작합니다!

웹 크롤링이란 쉽게 말해 인터넷 웹사이트에 있는 뉴스, 가격, 이미지 같은 정보들을 파이썬을 이용해 자동으로 긁어모으는 기술입니다. 오늘은 그 첫 단추로, 마우스 클릭 없이 단 1초 만에 특정 웹페이지의 전체 소스코드를 내 컴퓨터로 쏙 가져오는 방법을 알아보겠습니다. 초등학생도 따라 할 수 있을 만큼 아주 쉬우니 걱정 말고 따라오세요!

※ 사내 보안 및 규정 준수 안내
본 포스팅에서 다루는 웹 크롤링 기술은 누구나 아무런 조건 없이 접속할 수 있는 공개된 포털 사이트(네이버 메인)를 대상으로 진행합니다. 회사 내부의 기밀 시스템이나 아이디/비밀번호가 필요한 인트라넷 페이지와는 전혀 무관하므로, 보안 규정을 철저히 준수하는 안전한 교육용 튜토리얼입니다.

1. 웹 크롤링의 원리: "우리는 이미 크롤링을 하고 있다?!"

어려운 코딩 용어를 배우기 전에 원리부터 딱 쉽게 이해해 봅시다. 우리가 매일 스마트폰이나 컴퓨터로 네이버에 접속할 때, 사실 우리 눈에는 보이지 않지만 다음과 같은 일이 일어납니다.

  1. 우리가 주소창에 주소를 입력하면, 우리 컴퓨터가 네이버 서버에 "네이버 화면 소스코드 좀 보내주세요~" 하고 요청합니다.
  2. 네이버 서버가 "여기 있습니다!" 하고 복잡하게 생긴 글자 파일(HTML 소스코드)을 보내줍니다.
  3. 우리가 쓰는 크롬이나 인터넷 익스플로러 같은 브라우저가 그 복잡한 글자를 읽어서 예쁜 그림과 글씨 화면으로 우리 눈에 보여주는 것입니다.

오늘 우리가 할 일은 브라우저 대신 파이썬 코드를 시켜서 네이버가 주는 글자 파일(소스코드)을 중간에서 쏙 채오는 것입니다. 아주 단순하죠?

2. 준비물: 징검다리 라이브러리 설치하기

파이썬이 인터넷 세상으로 나가서 웹페이지를 가져오려면 requests (리퀘스트)라는 아주 착한 도우미 라이브러리가 필요합니다. 터미널(CMD 창)을 열고 아래 명령어를 그대로 입력한 뒤 엔터를 눌러주세요.

pip install requests

이 명령어 한 줄이면 파이썬이 인터넷에서 필요한 도구를 알아서 다운로드하여 설치를 완료합니다.

3. 웹페이지 소스코드 가져오기 전체 소스 코드

이제 아래의 코드를 복사해서 파이썬 파일에 붙여넣고 실행해 보세요. 코딩을 처음 하는 분들도 바로 고쳐서 쓸 수 있도록 모든 줄에 초강력 울트라 급 주석을 달아두었습니다. 초록색 글씨(주석)를 읽으면서 코드를 확인해 보세요!


import requests  # 인터넷 웹사이트에 접속 요청을 대행해 주는 도우미 라이브러리를 불러옵니다.

# =========================================================================
# [사용자 설정 영역] 내가 소스코드를 훔쳐오고 싶은 웹사이트 주소를 적는 곳입니다.
# =========================================================================
target_url = "https://www.naver.com"  # 예시로 가장 안전한 '네이버 메인 주소'를 적었습니다.

print("지정한 웹사이트에 접속을 시도하는 중입니다...")

# 1. requests.get() 함수를 사용하여 해당 웹사이트 주소로 "소스코드 주세요!" 하고 요청을 보냅니다.
# 그 결과로 서버가 보내준 모든 답변 데이터가 'response'라는 변수 상자에 쏙 들어갑니다.
response = requests.get(target_url)

# 2. 서버가 우리에게 정상적으로 답변을 주었는지 숫자로 확인합니다.
# 컴퓨터 세계에서 숫자 '200'은 "문제없이 성공적으로 연결되었다"는 뜻의 대박 신호입니다!
connection_status = response.status_code

# 3. 만약 연결 수치가 200번(성공)이라면, 가져온 소스코드를 화면에 시원하게 출력해 봅니다.
if connection_status == 200:
    print("웹사이트 연결에 성공했습니다!\n")
    
    # response.text 안에는 웹사이트를 구성하는 복잡한 HTML 소스코드가 글자 형태로 들어있습니다.
    # 너무 길면 보기 힘드니까, 딱 앞부분 글자 500글자만 잘라서 화면에 보여달라고 명령합니다.
    web_source_code = response.text
    print("=== 가져온 웹페이지 소스코드 일부 (앞 500글자) ===")
    print(web_source_code[:500])
    print("====================================================")
    
else:
    # 만약 주소가 틀렸거나 인터넷이 끊겼다면 에러 번호를 보여줍니다. (예: 주소가 없으면 404 에러)
    print(f"웹사이트 접속에 실패했습니다. 에러 번호: {connection_status}")
    

4. 초보자를 위한 코드 사용법 및 응용 힌트

이 코드는 여러분이 원하는 대로 마음껏 고쳐서 응용할 수 있습니다. 가장 중요한 수정 포인트 딱 한 곳만 알려드릴게요.

  • 나만의 주소로 바꾸기: 코드 위쪽에 있는 target_url = "https://www.naver.com" 부분의 따옴표 안을 내가 자주 가는 뉴스 사이트나 블로그 주소로 바꾸고 다시 실행해 보세요. 신기하게도 그 사이트의 소스코드를 그대로 긁어오는 것을 볼 수 있습니다!
  • 전체 코드 다 보기: 맨 아래 줄에 있는 web_source_code[:500]에서 [:500]을 통째로 지우고 print(web_source_code)로만 수정하면 수만 줄에 달하는 웹페이지 전체 소스코드를 가감 없이 전부 구경할 수 있습니다.

당신을 위한 실무 자동화 가이드

마치며

어때요? 생각보다 웹 크롤링의 첫 단계가 너무 허무할 정도로 쉽지 않나요? 코드 몇 줄만 쓰면 인터넷에 있는 어떤 페이지든 그 속살(소스코드)을 내 컴퓨터로 가져올 수 있게 된 것입니다.

하지만 지금 상태로는 외계어 같은 영어와 기호들만 가득해서 눈이 아프실 겁니다. 걱정 마세요! 다음 단계(Step 2)에서는 이 복잡한 기호들 속에서 내가 진짜 필요한 '뉴스 제목글자'만 핀셋으로 쏙 솎아내는 마법(BeautifulSoup)을 배워보겠습니다. 오늘 성공하셨다면 댓글과 공감으로 성공 인증을 남겨주세요! 여러분의 코딩 첫걸음을 응원합니다!

 

2026.05.15 - [분류 전체보기] - [파이썬 자동화] 엑셀 수치 데이터를 클릭 한 번에 '그래프'로 시각화하기 (보고서 자동화)

 

[파이썬 자동화] 엑셀 수치 데이터를 클릭 한 번에 '그래프'로 시각화하기 (보고서 자동화)

ADVERTISEMENT안녕하세요! 지난 포스팅에서 엑셀 파일을 합치고(Merge), 원하는 데이터를 추출(Filter)하는 법을 알아보았습니다. 하지만 진정한 보고서의 완성은 눈에 띄는 '차트'와 '그래프'겠죠?오늘

mumuverse.tistory.com

2026.05.16 - [분류 전체보기] - [파이썬 자동화] 파일 수백 개 이름 1초 만에 바꾸기 (파일명 일괄 변경 및 날짜 추가)

 

[파이썬 자동화] 파일 수백 개 이름 1초 만에 바꾸기 (파일명 일괄 변경 및 날짜 추가)

ADVERTISEMENT안녕하세요! 지난 시간에는 이미지 리사이징 자동화를 통해 파일 용량을 획기적으로 줄이는 방법을 알아보았습니다. 이미지를 크기별로 정리했다면, 이제 그 파일들의 이름을 규칙에

mumuverse.tistory.com

2026.05.13 - [분류 전체보기] - [슬기로운 도구]“넘쳐나는 뉴스레터 한눈에” 일잘러의 뉴스 리서치

 

[슬기로운 도구]“넘쳐나는 뉴스레터 한눈에” 일잘러의 뉴스 리서치

ADVERTISEMENT 안녕하세요! 여러분의 지식 창고를 깔끔하게 정리해드리는 '슬기로운 도구'입니다. ✨ 투자 정보나 트렌드를 놓치지 않으려고 구독한 뉴스레터들, 혹시 읽지 못한 채 쌓여만 가고 있

mumuverse.tistory.com

 

반응형