이 프로그램을 사용함으로써 디씨인사이드 본사로부터 법적 조치를 당할 수 있습니다. 이 점을 유의하시기 바랍니다.
본 프로그램은 이러한 법적 위험을 피하기 위해 사용하지 않는 것이 권장되며, 코드 역시 참고용으로만 제공됩니다.
DCGLE2는 설정한 디시인사이드 갤러리의 첫 페이지를 1분 주기로 크롤링하는 웹 애플리케이션입니다.
이 프로젝트는 Python의 Flask 프레임워크를 사용하여 개발되었습니다.
-
디시인사이드 특정 갤러리의 글을 1분 간격으로 자동 크롤링
-
크롤링한 데이터를 데이터베이스에 저장
-
저장된 데이터를 웹 인터페이스를 통해 조회 가능
- Python 3.8 이상
- Flask
- Requests
- BeautifulSoup4
- SQLAlchemy
- APScheduler
-
저장소를 클론합니다.
git clone https://github.com/yourusername/dcgle2.git cd dcgle2 -
가상 환경을 설정하고 활성화합니다.
python -m venv venv source venv/bin/activate # 윈도우의 경우 `venv\Scripts\activate`
-
필요한 패키지를 설치합니다.
pip install Flask Flask-SQLAlchemy APScheduler beautifulsoup4 requests
-
애플리케이션을 실행합니다.
flask run
-
웹 브라우저에서
http://127.0.0.1:5000에 접속합니다.
현재 DCGLE2는 특정 갤러리의 첫 번째 페이지 크롤링만 지원합니다. 또한, 특정 갤러리의 검색 기능을 제공할 때 두 번째 페이지 이후의 결과를 확인할 수 없는 문제가 있습니다.
이를 개선하기 위해 다음과 같은 방법을 고려할 수 있습니다:
-
페이지 네비게이션 기능 추가:
- 크롤링 시 각 페이지의 다음 페이지 링크를 파싱하여 순차적으로 크롤링합니다.
- 각 페이지에서 필요한 데이터를 추출하여 저장합니다.
- 이 과정을 반복하여 모든 페이지의 데이터를 수집합니다.
-
비동기 처리 도입:
- 비동기 요청을 통해 여러 페이지를 동시에 크롤링하여 효율성을 향상시킵니다.
- 이를 통해 빠른 시간 내에 다수의 페이지에서 데이터를 수집할 수 있습니다.
-
검색 엔진 최적화:
- 검색 엔진의 알고리즘을 개선하여 보다 정확하고 빠른 검색 결과를 제공합니다.
- 키워드 매칭을 개선하고, 검색 결과를 페이지별로 나누어 출력합니다.
프로젝트와 관련된 문의는 씨발님의 온라인 프로필를 참고해주세요.
이 프로젝트는 MIT 라이선스에 따라 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.