스파르타 코딩클럽 개인 프로젝트 8주차

키워드 기반의 뉴스 크롤링하기 - 발표

by 석용우

스파르타 코딩클럽이란?
https://spartacodingclub.kr/

1~4주 동안 코딩 배우기
5~8주 동안 개인 프로젝트 개발하기를 통해 단기간에 스파르타식으로 코딩을 배우는 수업

개인적으로 추천드립니다.


1. 프로젝트 취지 설명

- 내가 보고싶은 키워드와 관련된 뉴스기사를 보고 싶을 때 쉽게 보기 위해서

- 관심사를 꾸준히 볼 수 있게 하기 위한 프로젝트

- 프로젝트 범위 내에서는 스타트업 매체를 위주로 크롤링하지만, 추후 다양한 뉴스 매체를 추가할 예정
(현재 크롤링 가능한 채널 : 벤처스퀘어, 플래텀 / 앞으로 추가할 채널 : 한경, 네이버 뉴스, 머니투데이 등등)


2. 영상 보기

키워드 기반의 뉴스 크롤링 페이지

시연 내용 정리

1. 크롤링할 페이지를 선택하지 않는 경우 알내 문구 뜸

2. 1개의 페이지만 선택했을 때 크롤링

3. 2개의 페이지를 선택했을 때 크롤링

4. 탭 별로 보기 및 탭 삭제


3. 만든방법

1. 크롤링할 페이지를 정함

2. 검색했을 때의 url을 파악 후 pagination(페이지 관련정보를 저장하는 공간) 정보를 파악
이후에는 404 에러가 뜰 때까지 크롤링
3. 크롤링한 기사들에서 필요한 정보들을 db에 저장

4. db에 저장되는지 확인 후 db에서 불러오기 확인

5. html 에서 css를 통해 기본 틀 잡기

6. jquery 를 통해 검색 후 탭 생성하기, 탭 삭제하기, 크롤링한 뉴스 카드형태로 만들기 제작

7. checkbox를 체크한 경우에만 해당 페이지에서 크롤링하는 기능 개발

8. db에 중복 체크 후 저장하는 기능 개발


4. 후기

- 어려웠던 점

1. Pagination

검색 후 페이지를 기록하는 방법이 페이지마다 다르기 때문에 어려웠다.

이후, 404 에러가 뜰 때까지 페이지 수를 늘려가며 크롤링하는 방법을 익힘
위의 방법이 일반화하기 좋기 때문에 이후 추가할 페이지에 적용할 계획


2. Tab

탭 관련 개발 중 탭을 생성하고 삭제하면서 동시에 해야할 일이 굉장히 많았다.

탭을 생성하면서 동시에 뉴스 카드를 만들어줘야하고, 전체보기에도 뿌려줘야한다.
탭을 삭제할때는 탭을 지우는 것뿐만 아니라 카드 내용까지 지워줘야 이후에 같은 키워드를 입력했을 때

뉴스카드가 중복되어 보이지 않음


3. DB

DB 관련된 개발에서는 크롤링을 할 때
기사 정보 저장 전 중복체크를 하고 저장하는 개발에 가장 오랜 시간을 씀


- 배운 점

1. 간단한 개발은 없다.

쉬워보이는 기능도 개발로 들어가면 고려해야할게 정말 많다!
일반화할 수 있는 방법을 찾는 습관, 다양한 경우의 수를 고려하는 습관이 필요하다.


2. 코딩은 끝이 없다.

프로젝트 막판에 정말 절실하게 느끼는 생각...

하나를 만들면 새로운 에러가 2개씩 생기고....

하나를 만들면 그걸 위한 새로운 개발이 또 생기고....

거기에 나의 욕심까지 더해지니 이 프로젝트는 저 멀리 산속으로 나아간다.

혼자 개발하더라도 주마다 일정과 코드리뷰가 필요해보인다.


3. 코딩으로 못하는게 없다.
코딩을 배우니 정말 이 세상에 구현하지 못하는 건 없구나라는걸 느낌

코딩을 잘 하진 못하더라도 적어도 나한테 필요한 무언가가 생길 때
또는 창업 아이디어가 생길 때 만들 수 있게 되었다는 것만으로도 큰 수확이다.

4. 개발자에게 잘해주자.

깃허브 푸시를 보내고 시계를 보면 항상 새벽 2시 이후
우리 모두 개발자들에게 잘해줍시다!
야근하는 개발자들 화이팅:)

- 업그레이드 할 내용

1. 메타태그 넣기(새벽에 마지막 개발하다보니 깜빡...)

2. 뉴스 카드 만들 때 날짜 순서대로 소팅해서 보여주기

3. 새로운 크롤링할 페이지 추가하기

4. 기본적인 디자인 고치기(글씨 정렬, 탭 닫기버튼 정렬 등)


스파르타 코딩 클럽 숨겨진 꿀-팁!

매 기수, 클래스마다 얼리버드 할인이 있습니다.
무려 30%! 나 할인해주기 때문에 얼리버드 할인 마감전에 꼭 신청하시길!

지인추천 할인 코드 : WEARESPARTA
얼리버드 할인과 중복할인이 가능한 5만원 지인추천 할인 코드도 잊지마세요:)


keyword
매거진의 이전글스파르타 코딩 클럽 개인 프로젝트 개발일지 6주차