Python 다운로드 : https://www.python.org/ (path check 해줄것!)
VS Code Terminal : default teminal git bash로 설정
pip(Package Installer for Python): Python 패키지 설치를 도와주는 명령어
- requeats 패키지 설치, 터미널에 명령어 입력
pip insatll requests
requests : HTTP 요청을 보내는데 사용 되는 외부 라이브 러리 외부 api와 통신이 필요할 경우 requests lib 사용해야 한다
설치 터미널 명령어 : pip install requests
사용 .py 파일 import requests 추가
GET 요청
import requests
response = requests.get('url')
print(response.status_code) # HTTP 상태 코드
print(response.text) # 응답 본문
파라미터, 헤더 전달
import requests
params = {'param1': value1, 'param2':,value2}
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'}
response = requests.get('url', params=params, headers=headers)
print(response.text)
POST 요청
import requests
data = {'key1':'value1',key2':'value2'}
response = requests.post('url',data=data)
print(response.text) # 응답 본문
import requests
json_data = {'key1':'value1',key2':'value2'}
response = requests.post('url',json=json_data)
print(response.json()) # JSON 응답을 파이썬 객체로 변환
import requests
response = requests.get('https://www.example.com/nonexistent-endpoint')
if response.status_code == 404:
print('페이지를 찾을 수 없습니다.')
elif response.status_code == 200:
print(response.text)
else:
print('다른 상태 코드:', response.status_code)
import requests
session = requests.Session()
response = session.get('https://www.example.com/login', params={'username': 'user', 'password': 'pass'})
# 이후의 모든 요청은 같은 세션을 사용하여 쿠키 등을 유지합니다.
웹스크래핑
BeautifulSoup 사용
flask 폴더 기본구조
/myflaskapp /venv # 가상환경 디렉토리 (가상환경을 사용하는 경우) /static # 정적 파일 (CSS, JavaScript, 이미지 등) /templates # HTML 템플릿 파일 /app __init__.py # Flask 애플리케이션 초기화 routes.py # URL 라우팅 및 뷰 함수 정의 config.py # 앱 설정 파일 run.py # 애플리케이션 실행 파일
flask 코드 기본 구조
#flask lib 사용하기 위해 import
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run()
pip install flask# render_template -> flask 기능으로 요청이 들어오면 정적 페이지 반환
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def home():
# app.route()에 요청이 들어오면 render_template()에 있는 내용 반환
return render_template('index.html')
@app.route('/mypage')
def mypage():
return 'This is mypage'
if __name__ == '__main__':
app.run(debug=True)
from flask import Flask, render_template, request
@app.route('/movie')
def movie():
# flask의 request : 클라이언트로부터 http 요청에 관한 정보를 담고 있따.
# movie.html 에서 query라는 이름으로 보낸 데이터
query = request.args.get('query')
# 영화진흥의원회 api에 query 데이
res = requests.get(
f"http://kobis.or.kr/kobisopenapi/webservice/rest/movie/searchMovieList.json?key=f5eef3421c602c6cb7ea224104795888&movieNm={
query}"
)
rjson = res.json()
movie_list = rjson["movieListResult"]["movieList"]
print(movie_list)
return render_template('movie.html', data=movie_list)