hyejungg / ai-news-noti-bot

AI 트렌드 알림 봇
2 stars 0 forks source link

동작하지 않는 사이트 파싱 수정 #47

Closed hyejungg closed 1 month ago

hyejungg commented 2 months ago

Close https://github.com/hyejungg/ai-news-noti-bot/issues/43

제 커밋만 봐주세요! puppeteer 버전 변경점으로 인해서 PR 브랜치 머지하여 커밋이 많습니다. ㅎㅎ... develop 브랜치를 base 브랜치로 하면 될까요?


1. 데보션 실패 이유

로그

image

재현

image

실제로 황당하게도 해당 페이지에 있는 요소 클릭 시 오류가 발생해서 디테일 페이지로 넘어가지 못함

수정 방향

2. AI타임즈 실패 이유

로그

예상 문제

수정 방향

  1. extractedSiteData에는 값이 있었는데 아래 코드 통과 후 [] 빈 배열로 변환되어 db를 확인해보니 충격적이개도 keyword가 비어있었음 ...

    const filteredSiteData = extractedSiteData.filter((siteData) =>
      this.site.keywords.some((keyword) => siteData.title?.includes(keyword)),
    );
  2. 아래 코드는 Null 값을 필터링 시키지 못함

    return Promise.all(
      links
        .map((link) => this.processLink(link))
        .filter((siteData): siteData is Promise<SiteData> => siteData !== null),
    );
    • extractedSiteData 값이 되는 함수의 return value 인데 사이트의 정보를 가져오고, null인 애들은 필터링 하는 코드임
    • 비동기 작업 중 Promise과 같은 값이 섞여 있을 경우, Promise.all을 사용하여 모든 비동기 작업이 완료된 후 null을 필터링해야만 null 값을 제거할 수 있다고 하여 코드를 수정

3. 긱뉴스 일부 링크 클릭 안되는 문제

로그

image

수정 방향