어떤 데이터를 크롤링(스크래핑)하여 나만의 웹사이트를 만드는 것은 꽤 필요성이 있는 주제인 것 같습니다.
예를 들면,
- 아파트 실거래가 처럼 오픈된 공공 api를 python으로 크롤링하여 DB에 넣기만 하면
- 모바일에서도 잘 보이는 웹사이트가 자동으로 만들어지고
- Crontab으로 스케줄링하여 주기적으로 데이터를 가져와야하고
- 모바일에서도 잘 보이니, 앱 패키징을 하면 앱으로 출시할 수도 있고
- 이용자들이 앱에 받기 원하는 아파트의 실거래가 정보를 설정해 놓으면, 각 이용자들에게 맞춤형 푸시 알림을 보내준다.
정도의 서비스? 실제로 이정도 기능만 만들어도 취미로 꽤 훌륭한 서비스가 나올 수 있습니다.
개인적으로, 이를 빠르게 구현해서 현재, 몇가지 서비스를 만들어서 운영중에 있습니다.
빠르게 구축하기 위해서
- 웹사이트는 php 기반의 게시판형 cms인 그누보드를 이용했습니다.
- 스킨을 반응형으로 만들어 놓은 것이 있어서(찾아보면 공개된 무료 스킨들도 좀 있습니다)
- 크롤링한 데이터를 특정 게시판 DB 테이블에 그누보드의 구조에 맞게 입력하면 모바일에서도 잘 보이는 웹사이트가 바로 만들어 집니다.
- 주기적으로 데이터를 가져오도록 해놨기 때문에, 서비스 운영에 손이 거의 안갑니다.
- 또, 모바일웹을 iOS/Android 앱으로 패키징해주는 소스를 만들어, 앱으로 출시 했습니다.
- 회원으로 가입하여 관심 키워드를 설정해 놓으면, 주기적으로 데이터 가져오고 난 후, 일치하는 내용이 있으면 각 회원에게 개인화된 앱 푸시를 발송 하고 있습니다.
- 또한, 데이터를 가져왔을 때, 텔레그램/슬랙 등으로 관리자에게 알림을 보내어 데이터를 잘 가져오고 있음을 알려줍니다.
1번부터 4번까지를 빠르게 구현해주는 유료이지만 강의가 있습니다.
하지만!
위에 언급한 내용은,
- 주기적인 데이터를 가져오기 위해서 리눅스 스케줄러인 Crontab을 이용해야 합니다.
- 또한 ec2를 직접 구축해야하는 난이도와 복잡도 있습니다.
- 저렴한 국내 호스팅(카페24같은) 환경에서는 Crontab을 접근하지 못하게 하므로 다른 방법을 찾아야합니다.
그래서 Crontab을 사용하지 않는 방법을 고민해 봤더니, 역시 방법이 있습니다.
- 주기적으로 특정 URL을 호출해 주는 서비스는 없을까?
- 만약 있다면, 크롤링을 python이 아니라, php로 만들면, url이 나오니 가능!
그래서 찾아보니, https://cron-job.org/ 이라는 무료 서비스가 있었습니다.
그리고 크롤링 모듈을 php로 만들고 그누보드 디렉토리에 올려놓고, 몇가지 보안장치를 해서 아무나 호출못하게 하니,
완벽하게 구현했습니다.
관련된 강의(유료)가 이것입니다.
'IT일반' 카테고리의 다른 글
서브폰의 푸시를 메인폰으로 전달해주는 노티나 Notina (0) | 2023.08.28 |
---|---|
온라인 무료 MySQL DB – PlanetScale (0) | 2023.07.04 |
macOS Ventura 13.4.1 업데이트 이후 hosts 파일 잠김 수정 불가 (2) | 2023.06.28 |
Shell 에서 텔레그램 채널로 메시지 전송 (0) | 2023.02.01 |
SPA(nextjs)에서 페이지 이동시 url 도 표시해주기 (0) | 2023.01.30 |
댓글