본문 바로가기
Back-End/장고

장고 스크랩핑 자동 업데이트

by AI Sonny 2022. 12. 7.
728x90

오늘 할일

 

기존의 스크랩핑 파일을 aws의 ssh파일에서 동일하게 변경해주고,

 

스크래퍼가 주기적으로 실행되게 한다.

 

 

장고 스크랩트 배치 수행 설정

 

django_scraper/web_scraper에서

 

touchscraper_run.sh 파일 만들고, nano script_run.sh를 쳐서 파일에 들어감!

 

nano 진입!

 

#! /bin/bash

cd /home/ubuntu/django_scraper/web_scraper
/home/ubuntu/django_scraper/bot_venv38/bin/python manage.py runscript scraper

 

위 코드를 넣어준다!

 

 

이 후 cltr + o / cltr + x로 빠져나온다!

 

 (가상환경일 때는 interpriter의 절대 경로로 사용한다!)

 

스크립트 실행 파일로 변경 (chmod +x .script_run.sh)

 

ls -al script_run.sh로 스크립트 파일을 확인한다!

 

 


스크랩 시간 정하기

 

crontab -e를 이용하여 스크랩을 자동적으로 하도록 지정해준다.

 

 

*/3 * * * * => 이것은 분 / 시 / 일 / 월 / 요일 / 명령을 나타내는 것이다!

 

 

crontab -l을 크롬랩 확인할 수 있다!

 

기존의 부모폴더에서 가상환경 만들어서 코드의 효율성을 높인다.

 

이렇게 하면 일일이 가상환경을 실행시킬 필요가 없다.

 

source ../dj_venv/bin/activate

 

 

./ start_django.sh 쉘 스크립트 파일 실행!


Rest API 

 

Rest API 를 이용하려면 pip install djangorestframework를 설치하고, 앱등록하고, serializer.py 파일 생성!

 

데이터를 모두 가져올 것이기 때문에 (' __all__')로 한다.

 

serializer.py

 

url.py

 

view.py

서버를 실행시킨 뒤

 

http://127.0.0.1:8000/api/

 

http://127.0.0.1:8000/api/deals

 

다음 사이트에서 DB정보를 가져올 수 있다.

 

결과!!!

 

 


오늘은 스크래핑을 정해놓은 시간마다 하도록 지정하고 Rest API를 쓰는 방법에 대해서 배웠다.

 

내일은 실제로 스크랩핑을 해서 사이트를 만들어 볼 예정이다!

728x90

댓글