[파이썬] requests 웹페이지 스크랩핑 기본

웹스크래핑은 인터넷에서 데이터를 수집하고, 웹사이트의 내용을 분석하는 기술입니다. Python에서는 requests 라이브러리가 웹페이지 스크래핑에 효과적으로 사용됩니다. 이 블로그 포스트에서는 requests를 사용하여 웹페이지 스크래핑하는 기본적인 방법을 알아보겠습니다.

requests 라이브러리 설치

첫 번째 단계는 requests 라이브러리를 설치하는 것입니다. 아래의 pip 명령어를 사용하면 쉽게 설치할 수 있습니다.

pip install requests

웹페이지 내용 가져오기

requests 라이브러리를 사용하여 웹페이지의 내용을 가져오는 것은 매우 간단합니다. 아래의 예제 코드를 통해 실제로 진행하는 방법을 알아보겠습니다.

import requests

# 가져올 웹페이지 URL
url = "https://www.example.com"

# 웹페이지의 내용을 가져옴
response = requests.get(url)

# 가져온 내용 출력
print(response.text)

위의 코드에서는 requests.get() 함수를 사용하여 웹페이지의 내용을 가져옵니다. 가져온 내용은 response 변수에 저장됩니다.

상태 코드 확인하기

requests를 사용하여 웹페이지의 내용을 가져온 후, 일반적으로 상태 코드(status code)를 확인합니다. 상태 코드는 해당 요청의 성공 여부를 알려주는 숫자로, 대표적으로 200은 성공을 나타냅니다.

아래의 예제 코드를 통해 상태 코드를 확인하는 방법을 알아보겠습니다.

import requests

# 가져올 웹페이지 URL
url = "https://www.example.com"

# 웹페이지의 내용을 가져옴
response = requests.get(url)

# 상태 코드 확인
if response.status_code == 200:
    print("요청 성공!")
else:
    print("요청 실패")

위의 코드에서는 response의 status_code 속성을 사용하여 상태 코드를 확인합니다.

결과 분석하기

requests를 사용하여 웹페이지의 내용을 가져온 후, 결과를 분석하고 원하는 정보를 추출할 수 있습니다. 예를 들어, HTML 페이지에서 특정 요소의 내용을 가져와야 할 때가 있을 것입니다.

아래의 예제 코드를 통해 결과를 분석하는 방법을 알아보겠습니다.

import requests
from bs4 import BeautifulSoup

# 가져올 웹페이지 URL
url = "https://www.example.com"

# 웹페이지의 내용을 가져옴
response = requests.get(url)

# BeautifulSoup을 사용하여 HTML 파싱
soup = BeautifulSoup(response.text, "html.parser")

# 웹페이지에서 필요한 요소 추출
title = soup.title.text
content = soup.find("div", class_="content").text

# 추출한 요소 출력
print("제목:", title)
print("내용:", content)

위의 코드에서는 BeautifulSoup 라이브러리를 사용하여 HTML을 파싱하여 웹페이지의 필요한 요소를 추출합니다. 추출한 요소는 title 변수와 content 변수에 저장됩니다.

결론

requests 라이브러리를 사용하여 웹페이지 스크래핑을 수행하는 기본적인 방법을 살펴보았습니다. 이를 통해 웹에서 원하는 정보를 추출하고, 데이터를 사용하여 원하는 작업을 수행할 수 있습니다. requests 라이브러리의 다양한 기능과 BeautifulSoup 등의 라이브러리와의 조합을 통해 더 복잡한 스크래핑 작업을 수행할 수도 있습니다.