백엔드 준비하기

dainchoi·2020년 11월 22일
0

프로젝트

목록 보기
5/10

파이썬 패키지 설치하기

(웹개발 3주차 강의자료 참고)

파이참 실행 시 requests 패키지 추가 (크롤링)

(pyCharm 실행 - File - Setting - project : - Pycharm Interpreter 내 + requests 검색)

import requests #py파일 상단 입력

파이참 실행 시 bs4 패키지 추가

bs4 설치 => beautifulsoup4 약자
(pyCharm 실행 - File - Setting - project : - Pycharm Interpreter 내 + bs4 검색)

후 파일썬 파일 생성 후 아래 크롤링 기본셋팅

import requests
from bs4 import BeautifulSoup

# 타겟 URL을 읽어서 HTML를 받아오고,
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('https://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=pnt&date=20200303',headers=headers)

# HTML을 BeautifulSoup이라는 라이브러리를 활용해 검색하기 용이한 상태로 만듦
# soup이라는 변수에 "파싱 용이해진 html"이 담긴 상태가 됨
# 이제 코딩을 통해 필요한 부분을 추출하면 된다.
soup = BeautifulSoup(data.text, 'html.parser')

#############################
코딩 시작

파이참 실행 시 pymongo 패키지 추가 (DB저장)

(pyCharm 실행 - File - Setting - project : - Pycharm Interpreter 내 + pymongo 검색)

from pymongo import MongoClient           # pymongo를 임포트 하기(패키지 인스톨 먼저 해야겠죠?)
client = MongoClient('localhost', 27017)  # mongoDB는 27017 포트로 돌아갑니다.
db = client.dbsparta                      # 'dbsparta'라는 이름의 db를 만듭니다.
# 저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)

# 한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'})

# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
same_ages = list(db.users.find({'age':21},{'_id':False}))

# 바꾸기 - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})

# 지우기 - 예시
db.users.delete_one({'name':'bobby'})

파이참 실행 시 flask 패키지 추가 (DB저장)

(pyCharm 실행 - File - Setting - project : - Pycharm Interpreter 내 + flask 검색)

from flask import Flask, render_template
app = Flask(__name__)

## URL 별로 함수명이 같거나,
## route('/') 등의 주h소가 같으면 안됩니다.

@app.route('/')
def home():
   return render_template('index.html')

if __name__ == '__main__':
   app.run('0.0.0.0', port=5000, debug=True)

Flask 기본 파일 구조
(1) static -> 디렉토리 (이미지, CSS 파일)
(2) templates -> 디렉토리 (html 파일)
(3) app.py -> 파이썬 파일

0개의 댓글