Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

제목에서만 특정 키워드를 추출하는 방법이 있을까요 #8

Open
lets-GO-80 opened this issue Jun 10, 2024 · 2 comments

Comments

@lets-GO-80
Copy link

안녕하세요! 좋은 소스코드 만들어주셔서 고맙습니다.

슬랙을 좀 더 활용해보고 싶어서 검색하던 중 선생님께서 올려두신 '네이버 뉴스 페칭봇'을 발견하게 됐습니다.

현재 코드에선 뉴스 제목과 내용에 특정 키워드가 들어가면 봇알림을 보내주는데요,
혹시 뉴스 '제목'에서만 특정 키워드 봇알림을 설정하는 방법이 있을지요..

고맙습니다.

@seongjinme
Copy link
Owner

안녕하세요. 찾아주셔서 감사합니다. 😄

현재 검색 키워드가 뉴스 제목과 내용에 동시 적용되는 것은 네이버에서 제공하는 검색 API 스펙상 어쩔 수 없는 부분입니다.
다만 스크립트 내용을 직접 수정하실 수 있다면, '제목'에 검색 키워드가 포함된 경우에만 알림이 전송되도록 만들 수 있습니다.

예를 들어 Code.gsgetArticle 함수 코드를 아래와 같이 수정하여 구현해 볼 수 있겠네요.

function getArticle(g, feed, lastArticleUpdateTime) {

  // ...

  for (let i = 0; i < items.length; i++) {

    const pubDate = new Date(items[i].getChildText('pubDate'));

    // 기사 제목을 미리 받아와서, 제목에 '검색 키워드'가 포함되었는지 검사합니다.
    const title = bleachText(items[i].getChildText('title'));
    const isTitleIncludesKeyword = title.includes(g.keyword);

    // 기존의 뉴스 전송 조건에, 위에서 추가한 제목 내 '검색 키워드' 포함 여부를 추가합니다.
    if (isTitleIncludesKeyword && (!lastArticleUpdateTime || pubDate > lastArticleUpdateTime)) {

      // 각 item 별로 데이터 필드들을 가져옵니다.
      const link = items[i].getChildText('link');
      const source = getSource(items[i].getChildText('originallink'));
      const description = bleachText(items[i].getChildText('description'));
      const pubDateText = Utilities.formatDate(pubDate, "GMT+9", "yyyy-MM-dd HH:mm:ss");

      // 이하 이전과 동일한 코드 내용...

@lets-GO-80
Copy link
Author

선생님 너무 고맙습니다!! 바로 한번 테스트 해보겠습니다😀😀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants