일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- get
- mysql
- POST
- javascript
- frontend
- OOP
- Algorithm
- json
- backend
- flask
- java
- requests
- Crawling
- CRUD
- fetch
- openapi
- PYTHON
- github
- atlas
- beautifulsoup
- venv
- portfolio
- NAS
- body
- synology
- Project
- mongodb
- flaskframework
- CSS
- pymongo
- Today
- Total
목록Python&Flask Tutorials, AWS EB/Flask_project_pedia (11)
wisePocket
배운점: project mars와 비슷한 프로젝트(복습) 웹 크롤링 기능 추가 클라이언트에서는 URL, 별점, 리뷰 내용을 받고 위 URL을 통해서 영화의 제목, 설명, 이미지 URL을 받게 된다. 이 데이터들을 DB에 넣어주는 기능을 작성해야 한다. 기능 구현을 위한 app.py 부분을 작성 할 때 실제로 자문자답하는 방식으로 코드를 작성해봄 메타태그의 데이터(값) 가져오기 soup의 select_one()으로 'meta'라는 태그의 [property가og:title, og:image, og:description] 부분을 찾아서 원하는 값이 담긴 ['content']부분의 값을 각 ogtitle, ogimage, ogdesc변수에 담는다 어려운 점: 메타태그 메타 태그(meta tag)는 웹페이지가 담..
v0.1 프로젝트 개요 작성 및 폴더 구조 생성 v0.2 웹크롤링 기능 구현용 테스트 모듈 생성 및 테스트 v0.3.1 기초 프론트엔드 클라이언트 프로토타입 View 페이지작성 v0.3.2 기초 백엔드 서버 생성 및 프로토타입 GET 메서드 작성 v0.3.3 프로토타입 POST 메서드 작성 v0.4 기록하기(POST/insert) 기능 구현으로 인한 병합 및 기능 테스트 v0.5 목록보기(GET/find) 기능 구현 완료 v1.0 최종 테스트용 프로젝트 병합 해당 프로젝트는 아래 깃을 통해 업데이트되고 있습니다. https://github.com/yzpocket/Flask_project_pedia GitHub - yzpocket/Flask_project_pedia: [Flask] Flask framewo..
07번 글에서 POST 연결 기록하기 기능을 구현했으니 DB에 데이터가 누적되어 저장된다. 이제 해당 웹 페이지가 로드될 때 DB에 저장된 기록된 리뷰 목록을 GET 방식으로 불러와서 content 부분에 보여주고자 한다. DB에 등록된 리뷰 영화의 사진(url을 통해 이미지로), 영화 제목, 영화 설명, 별점, 리뷰 내용을 받아서 View 페이지에 넣어주는 기능을 작성해야 한다. #### 리뷰목록확인 - DB에 저장된 기록된 리뷰 데이터 받기(find(==read)) - 받은 데이터를 content 하단 부분에 4열 카드 형태로 출력 1. 데이터 명세 DB : MongoDB Collection : movie Document : 영화 URL : 'url':'url_receive' / from Fronte..
GET 및 POST 연결 테스트 메서드의 작동여부가 확인되었으니 클라이언트에서 입력값을 받아 DB에 저장하는 것부터 POST 방식으로 연결하고자 한다. 클라이언트에서는 URL, 별점, 리뷰 내용을 받고 위 URL을 통해서 영화의 제목, 설명, 이미지 URL을 받게 된다. 이 데이터들을 DB에 넣어주는 기능을 작성해야 한다. #### 영화 리뷰 기록 진행 - 대상 영화 URL, 별점, 리뷰 코멘트 입력 - '기록하기' 버튼으로 입력값+크롤링 데이터 DB로 전송 및 저장 (insert) 1. 데이터 명세 DB : MongoDB Collection : movie Document : 영화 URL : 'url':'url_receive' / from Frontend #url-> formData 'url_give':..
해당 백엔드 요청 응답 흐름은 이전 프로젝트인 project mars와 유사하다. https://ohnyong.tistory.com/57 1. 클라이언트와 서버 연결 확인하기(테스트용) GET 방식과 비슷하지만 요청 할 때 body를 추가하여 요청하는 부분이 다르다. body를 request.form으로 받게되는 부분이 추가된다. 어떤 이벤트에 함수를 연결 할 지 확인 "기록하기" button의 onclick 이벤트로 JavaScript의 posting() 함수 호출 JavaScript의 posting()라는 함수 실행 formData라는 객체를 생성 {'sample_give':'샘플데이터'}라는 Dictionary 형식 데이터를 .append()를 통해 formData에 담기 posting()내부 fe..
개발하고자 하는 프로젝트의 서버를 실행하고 웹브라우저로 URL에 접근 했을 때, View 페이지 로드"(document).ready()" 및 이벤트"onclick()"에서 JavaScript 요청에 대한 테스트용 메시지 알림창 생성을 확인해야 한다. Frontend와 병합하여 1차 테스트를 진행 해당 백엔드 요청 응답 흐름은 이전 프로젝트인 project mars와 유사하다. https://ohnyong.tistory.com/56 [Flask] Flask framework 미니프로젝트(project mars) 04 (Backend 기초 테스트 GET 요청 및 응답) 개발하고자 하는 프로젝트의 서버를 실행하고 웹브라우저로 URL에 접근 했을 때, View 페이지 로드"(document).ready()" 및..
개발하고자 하는 프로젝트의 View 페이지(HTML,CSS)와 JavaScript 연결 테스트용 작성 CSS, JavaScript 모듈화(Static) 및 참조 링크 설정 1. HTML 경로 : (project_root)pedia/templates/index.html Body는 Header / Content 로 구분 Header : 타이틀(title), 영화 기록하기(button onclick 이벤트) Content : button을 누르면 content부분에 리뷰를 기록하는 양식(form) 이 나타남 onclick open_box() 함수 호출 리뷰를 기록하는 양식은 다음과 같다. 영화 URL(#url) input 태그를 통해 value 획득 별점(#star) select>1~5option 태그를 통해..
개발하고자하는 프로젝트는 이전 project mars와 크게 다른 부분이 웹 크롤링을 이용한다는 점이다. 크롤링 할 때 *메타태그를 활용 할 것이라서 해당 부분의 기능을 테스트용으로 먼저 구현하고, 본 프로젝트에 삽입 할 예정이다. #### 웹 크롤링 - URL로부터 영화 이미지, 영화 제목, 영화 설명 항목 메타태그 크롤링(soup.select_one) 1. 테스트용 URL URL : https://movie.daum.net/moviedb/main?movieId=161806 스즈메의 문단속 Daum영화에서 자세한 내용을 확인하세요! movie.daum.net "스즈메의 문단속" 이라는 영화의 URL을 대상으로 테스트를 진행하려한다. 2. URL로 들어가서 메타 태그 확인하기 URL로 들어가서 해당 웹 ..
(venv) 가상환경이 설정된 프로젝트 폴더의 터미널에서 해당 프로젝트에 필요한 프레임워크와 *라이브러리를 설치 한다. 1개씩 각각 설치 할 수도 있지만 두번째 프로젝트기 때문에 필요한 프레임워크와 라이브러리를 한번에 설치한다. 이미 설치된 것들까지 한번 더 확인해준다. pip3 install flask pymongo dnspython requests bs4 certifi 각 설치 패키지는 다음과 같다. 1. Flask framework 설치 pip3 install flask 2. Python으로 MongoDB 사용하는 PyMongo package 설치(DB 연결에 사용) pip3 install pymongo 3. Python용 DNS패키지 Dnspython library 설치(DB 연결에 사용) pip..
1. 프로젝트 sparta_project/(root)pedia/ 폴더 생성, app.py 메인 파일 생성 2. View페이지용 (root)/templates/ 폴더 생성, 메인 뷰페이지 index.html 생성 3. CSS 모듈화 (root)/static/css/ 폴더 생성, CSS용 style.css 생성 4. JS 모듈화 (root)/static/js/ 폴더 생성, JS용 script.js 생성 5. venv 가상 환경 설정 python3 -m venv venv 6. 인터프리터 python 3.8.2 버전 선택 후 (venv)가상환경 적용 터미널 열기 7. git 로컬 리포 등록, github 원격 리포 연동 8. .gitignore생성 및 가상환경 추적 제외 venv/ 9. readme.md 프로젝..