📸

크롤링/스크래핑/자동화테스트

💡
서버리스 프레임워크를 사용하여 AWS Lambda에서 실행되는 간단한 cron 서비스를 개발하고 배포하는 크롤링 프로젝트입니다.
python, crawler, serverless framework, Selenium, Pandas, BeautifulSoup4 Node.js, TypeScript, Notion API, Chart Scraper, Axios

완료된 크롤링 프로젝트

Name Tags Languages
💿 가온 앨범차트 Music Chart Python
#️⃣ 소셜네트워크 인덱스 SNS Python
원티드 구인공고 크롤링 Developer job TypeScript
로켓펀치 구인공고 크롤링 Developer job TypeScript

Schedule event type

이 예에서는 rateHandler와 cronHandler라는 두 가지 함수를 정의하는데, 둘 다 특정 시간 또는 특정 간격으로 실행되도록 기능을 구성하는 데 사용되는 스케줄 유형의 이벤트에 의해 트리거됩니다. 스케줄 이벤트에 대한 자세한 내용은 서버리스 문서의 해당 섹션을 참조하십시오. docs .

Cron expressions syntax

cron(Minutes Hours Day-of-month Month Day-of-week Year)

모든 필드는 필수적이며 표준 시간대는 UTC를 기준으로 합니다. (KST+09:00)

필드 허용된 값 와일드카드
Minutes 0-59 , - * /
Hours 0-23 , - * /
Day-of-month 1-31 , - * ? / L W
Month 1-12 or JAN-DEC , - * /
Day-of-week 1-7 or SUN-SAT , - * ? / L #
Year 192199 , - * /
functions:
  job-collector:
    handler: handler.run
    events:
      # Invoke Lambda function every 2nd minute from Mon-Fri
      - schedule: cron(0 * ? * MON-FRI *)
    timeout: 180
    memorySize: 1024
    ephemeralStorageSize: 1024

AWS CRON 레퍼런스 : AWS docs .

notion-sdk-typescript-starter

Notion SDK TypeScript 로 랩핑한 notionhq를 사용했습니다.

https://github.com/makenotion/notion-sdk-js

Features

What to do after clone/fork

노션 API 사이트 에서 API KEY를 발급받습니다. OAuth를 사용한 범용 API를 발급받아야 프라이빗한 노션 페이지를 조작할 수 있습니다. dotenv파일을 생성합니다. touch .env

NOTION_TOKEN=https://www.notion.so/my-integrations
ROCKET_NOTION_DB=YOUR_DATABASE_URL
WANTED_NOTION_DB=YOUR_DATABASE_URL
NODE_ENV=
S3_IMAGE_BUCKET=

노션 토큰과 데이터베이스 아이디를 셋팅합니다.

NPM Scripts