본문 바로가기
> Python

[Python] 일부 라이브러리 간단 정리(requests, BeautifulSoup4, pymongo, flask)

by bky373 2020. 11. 6.

- requests : get 메소드를 통해 파리미터 url의 응답 값을 받아올 수 있음
                   (html, json 등의 데이터 활용 가능해짐)

- BeautifulSoup4 : html을 파싱하기 용이한 형태로 바꿔 줌,
                          만들어진 soup에 "select('선택자')"나
                         "select_one('선택자')"를 활용해 필요한 부분 추출 가능

import requests
from bs4 import BeautifulSoup

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'}
r = requests.get('https://naver.com/',headers=headers)

soup = BeautifulSoup(r.text, 'html.parser')

data_list = soup.select('선택자')
selected = data_list.select_one('선택자') 


- pymongo : MongoDB를 조작하기 위한 라이브러리, MongoClient(host, port) 인스턴스를 활용하며
                  생성된 인스턴스 client에서 db를 만들어 사용

from pymongo import MongoClient
client = MongoClient('localhost', 27017) # MongoClient(host, port)
db = client.dbtest

target = db.students.find_one({'name':'mark'})



- flask : WEB 프레임워크서버를 구동할 때 필요한 기능들을 제공함 (아래 코드는 활용 방법)
           Flask 서버를 돌리는 파일은 보통 app.py라고 이름을 짓는다
           그리고 항상 프로젝트 폴더 안에 static, templates폴더를 추가한다
           - templates 폴더HTML 파일을 담아두고 불러오는 폴더이며,
           - static 폴더는 HTML 파일 외에 이미지, css 파일 등의 파일을 담아두는 폴더이다

from flask import Flask, render_template
app = Flask(__name__) # Flask 인스턴스를 생성, app에 할당 (인스턴스는 현재 모듈 이름을 가짐) 

@app.route('/')
def home():
   return render_template('index.html)'
   
if __name__ == '__main__':  
   app.run('0.0.0.0',port=5000,debug=True)

 

댓글