chulphan / go_news_crawler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

네이버 뉴스 크롤러 with GO

Go로 크롤러를 만든 이유??

  • Go를 배우긴 했는데 이해도를 높이고자
  • 이전에 Python 을 이용해서 만든 경험이 있어서
  • 크롤링을 시도할 때에 Go 의 Goroutine 을 이용해서 더 빠르게 할 수 있지 않을까
    (너무 많은 삽질로 인해 아직 고루틴을 생성하진 못했다..OTL..) 했다

느낀점??

  • 네이버 뉴스는 charset 이 euc-kr 로 되어있어 이를 utf-8로 변환해주어야 함
  • Python의 BeautifulSoup >>>> goquery.... ....
  • 재밌다!!

Todo

  • 제목에 특수문자를 제거하여 파일 생성시 오류 방지하기
  • 기사 본문에 <script> 내용이 표시되지 않도록 하기
  • 모든 기사들의 링크를 긁어 온 후에 기사 내용을 가져올 때에는 goroutine 이용하기
  • 기사 내용을 표시하는 interface 를 만들기
  • 하드코딩 된 것들 제거하기 => 사용자로 부터 검색어와 검색일자 등을 받을 수 있도록 처리하기
  • 생성되는 폴더 날짜 하드코딩 되어있던 것을 금일 날짜로 자동으로 가져올 수 있도록 변경
  • 에러처리 함수 생성 및 그에 대한 코드 변경
  • windows 가 아닌 환경에서 크롤링 결과 저장될 path 지정 windows => C:\, mac: HOME 디렉토리
  • Goroutine 적용 시 stream error: stream ID 281; STREAM_CLOSED 에러나는 문제 파악 및 해결
  • Goroutine 적용 시 크롤링 된 결과가 달라지는 문제 (goroutine 적용 전에도 결과가 달라짐) 파악 및 해결

About


Languages

Language:Go 100.0%