같은 시스템에서 실행되는 다른 파이썬 응용 프로그램들의 동작에 영향을 주지 않기 위해, 파이썬 배포 패키지들을 설치하거나 업그레이드하는 것을 가능하게 하는 격리된 실행 환경
가상환경 A, B가 있다고 할 때, A의 python 버전을 3.8, B의 python 버전을 3.10 이런식으로 같은 패키지도 다른 버전으로 관리가 가능하고 프로젝트마다 그에 맞는 환경을 독립적으로 구성할 수 있다.
VSC의 명령 팔레트(ctrl
+shift
+p
)에서 'env'를 검색하여 Venv
를 클릭하면 Venv
가상환경을 만들 수 있다. (나는 poetry
사용중)
Venv
: pip install (패키지)
poetry
: poetry add (패키지)
import requests
from bs4 import BeautifulSoup
URL = "https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=날씨"
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get(URL, headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
soup 라는 변수에 해당 url의 html정보를 가져옴
select(): 해당 태그를 가진 정보를 다 가져온다. (복수)
select_one(): 해당 태그를 가진 정보를 한개만 가져온다. (단수)
# select_one()도 동일
soup.select('태그명')
soup.select('.클래스명')
soup.select('#아이디명')
soup.select('상위태그명 > 하위태그명 > 하위태그명')
soup.select('상위태그명.클래스명 > 하위태그명.클래스명')
# 태그와 속성값으로 찾는 방법
soup.select('태그명[속성="값"]')
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'This is Home!'
if __name__ == '__main__':
app.run(debug=True)
템플릿 변수, 템플릿 태그 사용 가능
{{ variable }}
: 변수명은 일반 프로그래밍처럼 사용
도트 표현식으로 변수 속성 접근 가능
{% tag %}
: 기본 형식은 이렇지만 시작태그와 끝태그가 있는 태그도 있다.
텍스트 결과물, 템플릿 로직, 외부 파일 로딩 등의 기능
# for 태그
{% for element in element_list %}
<li>{{ element.xxx }}</li>
{% endfor %}
# img 태그
<img src="{{ url_for('static', filename='이미지 경로') }}" alt="">