이 프로젝트는 클리앙(Clien) 자동차 게시판에서 특정 키워드를 포함한 게시물을 크롤링하여 AWS S3에 저장하는 Lambda 함수입니다.
- 주어진 URL에서 HTML을 가져옴
- User-Agent를 랜덤으로 변경하여 요청 수행
- 최대
TRIAL_LIMIT
번 재시도
- 특정 키워드와 날짜 범위에 해당하는 게시물 URL 목록을 가져옴
- 게시물 필터링 후 유효한 게시물의 URL을 반환
- 게시물 데이터를 JSON으로 변환 후 AWS S3에 저장
- AWS Lambda에서 실행되는 메인 함수
- 크롤링 실행 후 결과를 JSON 형식으로 반환
Lambda에 전달할 event
형식:
{
"car_id": "ev3",
"keywords": ["ev3", "ev4", "아토3"],
"date": "2025-02-25",
"batch": "1",
"start_datetime": "2025-02-20T00:00:00",
"end_datetime": "2025-02-25T23:59:59",
"bucket": "your-s3-bucket-name"
}
Lambda 실행 후 반환되는 응답 형식:
{
"statusCode": 200,
"body": {
"success": true,
"end_time": "2025-02-25T14:30:00",
"duration": 120.5,
"car_id": "hyundai-ev",
"date": "2025-02-25",
"batch": "1",
"start_datetime": "2025-02-20T00:00:00",
"end_datetime": "2025-02-25T23:59:59",
"attempted_posts_count": 100,
"extracted_posts_count": 90
}
}
success
: 실행 성공 여부end_time
: 크롤링 종료 시간duration
: 실행 시간 (초)attempted_posts_count
: 시도한 게시물 개수extracted_posts_count
: 성공적으로 저장된 게시물 개수