포트폴리오로
webApp, GAS, Automation뉴스 발송카드뉴스

업계 뉴스 자동화

제약업계 전문 매체의 기사를 수집하고, 키워드별로 정리 요청자별로 해당 키워드로 기사를 검색하여 일치하는 기사만 요청자별 메일 발송

클라이언트
업계종사자
기간
2020.08~현재
역할
Lead
기술 스택
VBASeleniumGAS

Problem

풀어야 했던 문제

업계 기사를 봐야하는데, 시간을 투자하기에는 다른 중요한일이 많다.

네이버 API 를 이용하였으나, 불필요한 기사도 함께 검색이 됨(주식과 관련된 단편 기사 들이나 다른 업계 기사)

Solution

어떻게 풀었나

  1. 네이버 API를 이용하지 않고, 제약전문 매체의 기사를 수집
    - 1차적으로 업계의 기사들만 다루는 매체를 대상으로 기사 수집
    - 다만 어제자 전체 기사를 수집하고, 그 이전의 데이터들은 삭제

  2. 요청자 | 키워드 | 메일주소를 수집하여, 해당 리스트의 키워드를 기사에서 검색함

  3. 검색결과가 1개 이상일 경우에만, 요청자의 메일주소로 메일을 발송

Result

결과

2020년부터 현재까지 3개 회사에서 모두 운영해보았습니다.

  1. VBA+Selenium 크롤링 + 24시간 PC 켜짐: 공용PC가 있어, 해당 PC에서 기사 셀레니움으로 수집 후 스케쥴러로 발송
    - 크롬드라이버 업데이트 시, 멈추는 현상으로 대안 필요

  2. VBA+request 방식 + 24시간 PC 켜짐: 크롬드라이버 이슈 없이 수집이 가능하나, 파싱을 VBA로만 하기에는 조금 어려웠음

  3. GAS + Request 방식 (Cheerio 라이브러리 사용)
    : 앱스 스크립트 트리거로 돌아가기 때문에 PC 리소스 들어가지 않음
    : 메일발송도 100개 제한으로 상대적으로 여유 있음 (현재는 네이버웍스 메일발송 API 사용중)
    : 파싱 시, CSS Selector 사용가능하여 유지보수 상대적으로 수월한 편

    [ 키워드별 발송 샘플 ]

    image.png

비슷한 일을 풀어보고 싶으신가요?

도메인이 다르더라도, 풀어가는 방식은 같은 결입니다.