- "링커리어", "위비티", "씽굿"에 게시된 공모전 데이터를 한 페이지에서 확인
- 검색 기능 및 추천 검색어 기능을 제공하여 필요한 공모전을 빠르게 탐색
- 표시된 공모전을 클릭하면, 해당 공모전 사이트로 이동
- Frontend : HTML, CSS
- Backend : Django (5.0.4), sqlite
- Crawling : beautifulsoup (4.12.3), selenium (4.20.0)
- Data-Processing : pandas (2.2.2)
pip install django==5.0.4
pip install beautifulsoup4==4.12.3
pip install selenium==4.20.0
pip install pandas=2.2.2
git clone https://github.com/ss721229/competition-web.git
- save.py 실행 : 공모전 데이터 스크래핑, csv 형태로 해당 디렉터리에 저장
python manage.py runserver
![moremore-Chrome-2024-05-15-09-30-05](https://private-user-images.githubusercontent.com/53392184/330628467-132e8a1d-980b-45b0-8a67-bbe80677ce58.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEyNDQzNDYsIm5iZiI6MTcyMTI0NDA0NiwicGF0aCI6Ii81MzM5MjE4NC8zMzA2Mjg0NjctMTMyZThhMWQtOTgwYi00NWIwLThhNjctYmJlODA2NzdjZTU4LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE3VDE5MjA0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZlMDFiOTJhMDNmODNjYjNmODMwNmY4Mzg3ODA1NWIyODFjZGM0Mzk1YzFiMjRiZDA4NjAxZDAyN2NjZjRkYjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.CwtqUJThMZLdqFqEqUYls6V8Oyj2gmMVO2aKiMLFUbs)
- 세 개의 페이지를 따로 봐야하는 불편함을 없애고, 하나의 페이지에서 확인할 수 있다.
- 계획 단계에서 구현하고자 했던 기능을 모두 구현하였다.
- Django 기반에서 프론트엔드/백엔드 구현, 데이터베이스의 개념을 이해하였다.
- 데브코스에서 배운 것을 통해 스크래핑, 웹 페이지 구성을 직접 해본 것에 의의가 있다.
- 모든 공모전의 데이터를 가져오면, 사이트 당 약 30분 정도 걸린다.
- save.py를 다시 실행하더라도 같은 시간이 걸린다.
- 존재하지 않는 것만 가져오고 스크래핑을 종료하도록 만들면 시간 효율적일 것이다.
- 세부적인 사항보다는 생각했던 기능 구현을 우선으로 진행하였다.
- 빈 문자열, 공백 검색을 제한하지 않았다.
- 디자인보다는 각 요소를 페이지에 보여주는 것을 우선시하였다.
- 모든 코드가 올바르게 동작은 했지만, 모두 효율적인 코드라고는 할 수 없을 것이다.
- 배포는 고려하지 않았다.