일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- mysql
- flask
- java
- OOP
- frontend
- json
- Crawling
- flaskframework
- javascript
- pymongo
- beautifulsoup
- Algorithm
- fetch
- venv
- Project
- openapi
- mongodb
- POST
- requests
- atlas
- CRUD
- PYTHON
- backend
- CSS
- NAS
- get
- body
- portfolio
- synology
- github
- Today
- Total
목록Crawling (15)
wisePocket

이전 03 웹 크롤링 기능 부분 구현 및 테스트, 시행착오와 해결에서 기능 테스트 부분을 구현했다. https://ohnyong.tistory.com/95 해당 기능 모듈을 본 프로젝트에 활용하고자 한다. 전반적으로 GET방식 요청, 응답과 같은 흐름이다. 전체적인 클라이언트와 서버 간의 흐름을 요약하면 다음과 같다. 우선 프론트에서 웹 페이지 로드가 되면 (document).ready()에 따라 백엔드 요청은 JavaScript의 /ranking이라는 URL로 해당 데이터를 요청하게 설계했다. 이후 응답은 app.py에서는 /ranking 요청에 대한 응답을 준비하는데 웹 크롤링을 시작(테스트 코드로 사전 진행함) 지정한 URL에서 진행 requests로 HTML소스 받음 beautifulsoup으로 ..

POST 연결 기록하기 기능을 구현했으니 DB에 데이터가 누적되어 저장된다. 이제 해당 웹 페이지가 로드될 때 DB에 저장된 기록된 응원 댓글 목록을 GET 방식으로 불러와서 content 하단 리스트 부분에 보여주고자 한다. DB에 등록된 닉네임, 응원 댓글 내용을 받아서 View 페이지에 넣어주는 기능을 작성해야 한다. #### 응원 댓글 목록 확인 - DB에 저장된 기록된 응원 댓글 데이터 받기(find(==read)) - 받은 데이터를 content 부분에 한줄씩 출력 1. 데이터 명세 DB : MongoDB Collection : fan Document : 닉네임 : 'name':'name_receive' / from Frontend #name-> formData 'name_give':'valu..

GET 및 POST 연결 테스트 메서드의 작동여부가 확인되었으니 클라이언트에서 입력값을 받아 DB에 저장하는 것부터 POST 방식으로 연결하고자 한다. 클라이언트에서는 닉네임, 응원 댓글 내용을 받고 이 데이터들을 DB에 넣어주는 기능을 작성해야 한다. #### 응원 댓글 기록 진행 - input,textarea에 값 입력 - '댓글남기기' 버튼으로 입력값 DB로 전송 및 저장 (insert) 1. 데이터 명세 DB : MongoDB Collection : fan Document : 닉네임 : 'name':'name_receive' / from Frontend #name-> formData 'name_give':'value' 응원 댓글 내용 : 'comment':'comment_receive' / fro..

개발하고자하는 프로젝트는 웹 크롤링을 이용한다는 점이다. 해당 부분의 기능을 테스트용으로 먼저 구현하고, 본 프로젝트에 삽입 할 예정이다. 실습 내용엔 없지만 스스로 복습겸 구현해보고 싶어서 추가한 기능이다. #### 웹 크롤링 - URL로부터 Super Shy의 데일리 랭킹 크롤링(soup.select_one) 1. 테스트용 URL URL : https://kworb.net/spotify/country/us_daily.html Spotify Daily Chart - United States 146 -5 44 5 347,383 -20,188 2,554,957 -32,059 27,023,386 kworb.net 공식 차트에서는 크롤링이 되지 않아서 타 웹 페이지에서 Spotify의 차트를 제공하고 있어 해..
배운점: 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)는 웹페이지가 담..

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와 크게 다른 부분이 웹 크롤링을 이용한다는 점이다. 크롤링 할 때 *메타태그를 활용 할 것이라서 해당 부분의 기능을 테스트용으로 먼저 구현하고, 본 프로젝트에 삽입 할 예정이다. #### 웹 크롤링 - URL로부터 영화 이미지, 영화 제목, 영화 설명 항목 메타태그 크롤링(soup.select_one) 1. 테스트용 URL URL : https://movie.daum.net/moviedb/main?movieId=161806 스즈메의 문단속 Daum영화에서 자세한 내용을 확인하세요! movie.daum.net "스즈메의 문단속" 이라는 영화의 URL을 대상으로 테스트를 진행하려한다. 2. URL로 들어가서 메타 태그 확인하기 URL로 들어가서 해당 웹 ..
# Flask_project_pedia [Flask] Flask framework 미니프로젝트(project pedia) ## 🖥️ 프로젝트 소개 웹 크롤링을 활용한 간단 리뷰 게시판 형태의 "영화" 리뷰를 등록하는 웹 페이지 서비스 ## 🕰️ 개발 기간 * 23.07.12일 - 23.07.13일 ### 🧑🤝🧑 맴버구성 - 김인용 - 싱글 프로젝트 ### ⚙️ 개발 환경 - **MainLanguage** : `PYTHON` - **IDE** : VisualStudio Code 1.79.2 (Universal) - **Framework** : Flask Framework - **Database** : MongoDB(5.0.11) - **SERVER** : Flask ## 📌 주요 기능 #### View..
파이썬 입문 배운점: 함수, 변수, 조건문, 반복문 등이 Python에선 어떻게 표현되는지 기초 문법을 사용 주의해야 될 것은 함수는 def라는 명칭으로 시작하고 ' : ' 콜론을 사용한다. 또한 실행될 함수 내용은 ' ' 탭 빈공간으로 열맞춤이 꼭 맞춰줘야 한다는 점 가상환경 venv 구축법(python3 -m venv .venv) venv내 라이브러리 설치법 (pip install xxx) 라이브러리 임포트(import xxx) requests 라이브러리 사용해보기(js fetch와 비슷한 역할) 데이터 가져오기 (data = requests.get(’link’) 크롤링에서 **BeautifulSoup 라이브러리 사용해보기(**우리가 원하는 특정 부분 을 빠르고 쉽게 필터링 해주는 라이브러리) sou..

현재까지 배운 내용들로 웹 크롤링 하기 실습을 최대한 안보고 진행해보자. Genie라는 음악 스트리밍 서비스에서 실시간, 일간, 주간, 월간 등 다양한 랭킹 차트를 제공한다. 그 중 가장 최근인 2023년 6월 월간 음악 랭킹 차트를 크롤링하고 URL = https://www.genie.co.kr/chart/top200?ditc=M&rtm=N&ymd=20230601 "순위 / 곡 제목 / 가수" 데이터를 가져오는 것을 실습하고자 한다. 0. 라이브러리 임포트와 HTML 크롤링 웹 크롤링을 위해서 requests를 받아온 html 소스를 parsing(문자열들을 분석/분해/구조화/가공 해주는 프로세스)해줄 수 있는 beautifulsoup을 임포트하면서 시작한다. # 크롤링 = 웹페이지에서 어떤 데이터를 ..