Python Requests는 웹 서버에 HTTP 요청을 보내는 라이브러리입니다. 이를 이용해 웹 서버에 요청을 보내고 응답을 받을 수 있습니다.
먼저, requests 라이브러리를 설치해야 합니다.
pip install requests
그리고 아래와 같이 requests 모듈을 import 합니다.
import requests
요청을 보내는 가장 기본적인 방법은 get() 함수를 사용하는 것입니다.
response = requests.get('https://www.example.com')
이렇게 요청을 보냈을 때 응답은 Response 객체로 반환됩니다. 응답 내용은 .text속성으로 얻을 수 있습니다.
print(response.text)
requests 모듈은 다양한 요청 메서드를 지원하는 형식으로 데이터를 전송할 수 있습니다.
POST 요청을 보내려면 post() 함수를 사용합니다.
data = {'key': 'value'}
response = requests.post('https://www.example.com', data=data)
PUT 요청을 보내려면 put() 함수를 사용합니다.
data = {'key': 'value'}
response = requests.put('https://www.example.com', data=data)
DELETE 요청을 보내려면 delete() 함수를 사용합니다.
response = requests.delete('https://www.example.com')
응답 헤더를 보려면 headers 속성을 사용합니다.
print(response.headers)
요청에 헤더를 추가하려면 headers 인자를 사용합니다.
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get('https://www.example.com', headers=headers)
Requests 라이브러리를 사용하면 간단하게 웹 서버에 요청을 보내고 응답을 받을 수 있어 많은 개발자들이 이를 사용하고 있습니다. 웹 크롤링, API 연동 등에서 자주 사용되며, 이를 이용하면 편리하게 웹 기반의 작업들을 수행할 수 있습니다.
실제 업무에서는 requests 라이브러리를 이용해 웹 API를 호출하는 경우가 많습니다. 아래는 OpenWeather API를 호출하는 예제 코드입니다.
import requests
api_key = "YOUR_API_KEY"
city_name = "Seoul"
# API 호출
response = requests.get(f'http://api.openweathermap.org/data/2.5/weather?q={city_name}&appid={api_key}')
# 응답 확인
print(response.text)
또한, 웹 페이지를 크롤링하여 원하는 정보를 추출하는 경우도 있습니다. 아래는 구글 검색 결과 첫번째 페이지의 타이틀 제목을 추출하는 예제 코드입니다.
import requests
from bs4 import BeautifulSoup
# 구글 검색
query = "Python Requests"
response = requests.get(f"https://www.google.com/search?q={query}")
# HTML 파싱
soup = BeautifulSoup(response.text, 'html.parser')
# 타이틀 추출
titles = soup.select('div.r > a > h3')
for title in titles:
print(title.text)
위 코드는 구글 검색 결과를 크롤링 하는 예제입니다. 이외에도 여러가지 웹 크롤링 기법을 사용할 수 있습니다.
위 코드는 기본적인 사용법을 설명하였지만, 실제 업무에서는 다양한 요구사항에 맞게 코드를 수정해야 할 수 있습니다.
'파이썬' 카테고리의 다른 글
파이썬 유닛테스트 (0) | 2023.02.02 |
---|---|
파이썬 BeautifulSoup 라이브러리 이해하기 (0) | 2023.01.30 |
파이썬 웹 크롤링 이해하기 (0) | 2023.01.28 |
파이썬 인스턴스 메소드 이해하기 (0) | 2023.01.27 |
파이썬 스태틱메소드 이해하기 (0) | 2023.01.26 |
댓글