Github Action을 활용한 크롤러 웹 페이지 만들기 by 제주코딩베이스캠프
링크 : https://www.inflearn.com/course/github-action-%ED%81%AC%EB%A1%A4%EB%9F%AC/dashboard
깃헙에서 리포 만들고
test.py 코드
import requests ## 요청 라이브러리
from bs4 import BeautifulSoup #파싱 라이브러리
url = 'https://ridibooks.com/category/new-releases/2200'
response = requests.get(url)
response.encoding = 'utf-8'
html = response.text
soup = BeautifulSoup(html, 'html.parser') # html 파서 씀
bookservices = soup.select('.title_text') # 클래스 짚어내기
for no, book in enumerate(bookservices, 1):
print(no, book.text.strip())
name: helloGithubAction
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: 1) 파일 목록 출력
run: ls -al
- name: 2) 파이썬 패키지 확인
run: pip list
- name: 3) pip 업그레이드
run: python -m pip install --upgrade pip
- name: 4) 런타임에 필요한 모듈 설치
run: pip install -r requirements.txt
- name: 4) 파이썬 코드 실행
run: python test.py
리눅스의 작업 스케쥴러 크론탭 기능을 이용합니다
리눅스 작업 스케줄러 cron
5분마다 실행하는 크론탭 명령어
//5분마다 해당하는 명령어를 실행합니다.
*/5 * * * * /test/crawling.py
여러시간을 정하고 실행
//매일 오전 9시 30분, 오후 9시 30분에 해당하는 명령어를 실행합니다.
30 9,21 * * * /test/crawling.py
//매일 매시간 10분, 20분 마다 해당하는 명렁어를 실행합니다.
10,20 * * * * /test/crawling.py
범위 실행
//매일 오전 9시에 해당하는 명령어를 실행합니다. (0 - 일요일, 6 - 토요일)
0 9 * * 0-6 /test/crawling.py
//월~금 오전 9시에 해당하는 명령어를 실행합니다. (1 - 월요일, 5 - 금요일)
0 9 * * 1-5 /test/crawling.py
//매일 10시 0분부터 30분까지 해당하는 명령어를 실행합니다.
0-30 10 * * * /test/crawling.py
name: helloGithubAction
on:
schedule:
- cron: '*/10 * * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
<동일하게 유지, 생략함>