프로그래밍/Flask 12

Ajax의 페이징 처리

Ajax로 페이징 처리하기 페이지를 넘길때 필요한 것 👆 검색 키워드, ✌ 페이지 넘버 JSON data를 배열로 만들어서 값을 주고 받으려 했으나 방법을 못찾아서 검색 키워드와 페이지 넘버를 합쳐서 넘기는 방법을 시도함 1️⃣ 현재 페이지와 다른 페이지 넘버 클릭시 페이지 비워주기 $(".about--banner").empty(); 2️⃣ 검색 키워드와 페이지 넘버 합쳐서 변수로 선언하기 이때 두개를 분리하기 위한 키워드 설정해주기(ex. num_page) let word = $("[name=word]").val()+"num_page"+$(this).val(); 3️⃣ Ajax 요청하여 데이터 넘기기 $.ajax({ type : 'POST', url : 'http://127.0.0.1:5000/repo..

페이지네이션

페이지네이션 1️⃣ 페이징 처리를 위해 한 페이지에 보여줄 게시물 설정하기 @app.route("/report", methods =['POST']) def report(): word = request.get_json("word") #json data를 가져오기 if word: word = word.lower() existingNews = db.get(word) if existingNews: # 페이지 값 (디폴트값 = 1) page = request.args.get("page", 1, type=int) # 한 페이지 당 몇 개의 게시물을 출력할 것인가 limit = 10 news = existingNews datas = news[(page - 1) * limit:limit*page] # 게시물의 총 개수..

ajax 사용하기(json data 보내고 받기)

Flask에서 ajax 사용하기 1️⃣ data를 JSON.stringify(data)로 보내기 $.ajax({ type : 'POST', url : 'http://127.0.0.1:5000/report', data : JSON.stringify(word), dataType : 'JSON', success : function(result){ $(".about--banner").append(result) }, error : function(xtr,status,error){ alert(xtr +":"+status+":"+error); } }); 2️⃣ jsonify import하기 3️⃣ request.get_json("data")로 데이터 받기 4️⃣ jsonify()로 데이터 보내기 from flask ..

Web Scraping9(CSV파일에 저장하고 다운로드)

CSV파일 저장하고 다운로드 하기 main.py from flask import Flask, render_template, request, redirect, send_file from naver import get_news from exporter import save_to_file @app.route("/export") def export(): try: # try의 코드를 실행하다가 에러가 나면 except의 코드가 실행됨 word = request.args.get("word") if not word: raise Exception() # 만약 word가 존재하지 않으면 exception을 발생시킴 word = word.lower() news = db.get(word) if not news: raise ..

Web Scraping8(검색 결과 페이지에 출력하기)

검색 결과 페이지에 출력하기(grid 사용) server.py @app.route("/report") def report(): word = request.args.get("word") if word: word = word.lower() existingNews = db.get(word) if existingNews: news = existingNews else: news = get_news(word) db[word] = news else: return redirect("/") return render_template( "report.html", searchingBy=word, resultNumber=len(news), news=news ) report.html result Found {{resultNumb..

Web Scraping7(fakeDB 생성)

fakeDB 생성 fakeDB는 @app.route() 외부에 있어야 함 같은 내용을 검색했을때 사이트를 찾아보는 일이 필요 없음(fakeDB에 이미 정보가 들어있어서) from flask import Flask, render_template, request, redirect from naver import get_news app = Flask("WebScrapper") db = {} @app.route("/") def home(): return render_template("home.html") @app.route("/report") def report(): word = request.args.get("word") if word: word = word.lower() fromDb = db.get(word..

Web Scraping6(만들어 둔 scrapper와 flask 연동하기)

naver.py와 flask연동하기 1️⃣ from naver import get_news 2️⃣ news = get_news(word) 3️⃣ 전달해준 인자를 이용해서 naver.py의 url변경하기 4️⃣ print문으로 확인해보기 mina.py from flask import Flask, render_template, request, redirect from naver import get_news app = Flask("WebScrapper") @app.route("/") def home(): return render_template("home.html") @app.route("/report") def report(): word = request.args.get("word") if word: wor..

Web Scraping5(사용자가 입력한 검색어 가져오기)

사용자가 입력한 검색어 정보 가져오기 1️⃣ 임포트 하기 👉 from flask import request 2️⃣ 변수에 정보 저장 👉 word = request.args.get("word") main.py from flask import Flask, render_template, request #request안을 들여다봐서 키워드 뽑아올 수 있음(request를 임포트 하는 이유) app = Flask("WebScrapper") @app.route("/") def home(): return render_template("home.html") @app.route("/report") def report(): word = request.args.get("word") #word라는 이름의 argument를 가..