Today I Learned
TIL0928_Jquery,크롤링,Flask,API 복습
개발자 김혜린
2021. 9. 28. 01:37
너무너무 피곤해서 공부한 것만 적고 자야겠다....
insert_form에 입력한 내용을 Mongo DB에 저장하는 과정을 복습했다
- Jquery : 자바스크립트 편하게 쓰게 해주는 문법.(id값 중요)
- 크롤링 코드 :
import requests
from bs4 import BeautifulSoup
from pymongo import MongoClient
client = MongoClient('localhost', 27017) #내 컴퓨터에 돌아가는 mongoDB에 접속
db = client.dbsparta #dpsparta 라는 db이름으로 접속할 겁니다
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)
soup = BeautifulSoup(data.text, 'html.parser')
# 코딩 시작
title=soup.select_one('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a')
print(title.text)
print(title['href'])
trs=soup.select('#old_content > table > tbody > tr')
for tr in trs:
a_tag=tr.select_one('td.title>div>a')
if a_tag is not None:
rank=tr.select_one('td:nth-child(1)>img')['alt']
title=a_tag.text
star=tr.select_one('td.point').text
doc={
'title':title,
'rank':rank,
'star':star
}
db.hering.insert_one(doc)
-Flask : 파이썬으로 서버 구동 쉽게 해준다 -> Flask 서버 돌리는 파일 = app.py
단 9줄로 서버 만들기!
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'This is Home!'
if __name__ == '__main__':
app.run('0.0.0.0',port=5000,debug=True)
-API : 클라이언트가 요청하는 방식, "창구"
ajax는 클라이언트가 창구로 서버에게 요청할 때 쓰는 코드
url의 /test 뒤 ?로 데이터를 가져옴
$.ajax({ #GET 확인 요청 코드(클라이언트->서버)
type: "GET",
url: "/test?title_give=봄날은간다",
data: {},
success: function(response){ #서버가 요청을 받아줘서 GET이 확실하게 들어갔다면, response에 jsonify 내용이 담김
console.log(response)
}
})
-jsonify : 서버에서 클라이언트로 내려주는 데이터
@app.route('/test', methods=['GET'])
def test_get(): //GET 요청 코드
title_receive = request.args.get('title_give')
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
insert_form 내용이
DB에 저장되지 않아...................................................................