wisePocket

[Python] 파이썬 라이브러리 첫 사용 'requests' 본문

Python&Flask Tutorials, AWS EB/3rd WEEK Python, Crawling, MongoDB

[Python] 파이썬 라이브러리 첫 사용 'requests'

ohnyong 2023. 7. 4. 21:29

이전글에서 venv로 파이썬을 연습하고 있는 폴더의 가상 환경 구축을 완료했다.

본격적으로 파이썬의 라이브러리를 사용해보고자 한다.

 

requests라는 라이브러리를 사용해보자.

 

1. requests 라이브러리 설치

venv 가 활성화된 터미널에서 아래 커맨드로 requests란 라이브러리를 설치한다.

pip install requests

이같은 화면이 나타나고 금새 라이브러리 설치가 완료된다.

 

 

2. 라이브러리 임포트

라이브러리 설치가 완료되면 프로젝트에서는 해당 라이브러리의 내용을 사용하기 위해서

파이썬에서 코드를 작성하는 가장 윗부분에 requests 임포트

# requests 라이브러리 임포트
import requests

이제 requests 라이브러리의 개발자의 도큐먼트에 따라서 어떤 기능들을 사용 할 수 있는지 정리되어있지만

모든 기능에서 원하는 기능을 찾아보기는 어렵다.

이럴 땐 requests+원하는 기능 으로 검색어를 사용하면

다른 개발자들이 해당 라이브러리를 사용해서 연습한 결과물들을 볼 수 있는데 이게 조금 더 시간을 단축 할 수도 있다.

하지만 잘못된 블로그 내용이 있을 수 있으므로 항상 더블체크는 습관화 되어야 한다. 

https://requests.readthedocs.io/en/latest/

 

Requests: HTTP for Humans™ — Requests 2.31.0 documentation

Requests: HTTP for Humans™ Release v2.31.0. (Installation) Requests is an elegant and simple HTTP library for Python, built for human beings. Behold, the power of Requests: >>> r = requests.get('https://api.github.com/user', auth=('user', 'pass')) >>> r.

requests.readthedocs.io

 

3. 이제 OpenAPI 데이터를 requests라이브러리를 사용해서 다뤄보자

import requests 

# requests.get 사용
r = requests.get('http://spartacodingclub.shop/sparta_api/seoulair')

#rjson 변수에 데이터 담기
rjson = r.json()

# print(rjson['RealtimeCityAir']['row'])
# rows에 Dictionary 형태로 담기
rows = rjson['RealtimeCityAir']['row']

# 반복문으로 gu_name, gu_mise로 원하는 데이터 넣기
for a in rows:
    # print(a)
    gu_name = a['MSRSTE_NM']
    gu_mise = a['IDEX_MVL']
    # 원하는 정보만 출력하기
    print(gu_name, gu_mise)

JavaScript에서 계속 실습했던 Fetch를 통한 데이터가져오기와 같은 과정, 결과이다.

  • OpenAPI 링크를 통해 데이터를 받아오고(get이란 메서드)
  • Dictionary 구조의 데이터에서 원하는 key들로 정렬하고 변수에 저장
  • 반복문을 통해서 데이터를 담고
  • 원하는 value들을 추출

JavaScript에서 다룬 Fetch와 동일한 과정을 Python에서 수행하고 있다.

 

 


 

해당 스터디는 아래 깃을 통해 업데이트 되고 있습니다.

https://github.com/yzpocket/Sparta99training

 

GitHub - yzpocket/Sparta99training

Contribute to yzpocket/Sparta99training development by creating an account on GitHub.

github.com