Done list
퍼블리싱 작업을 완료했다. 부트스트랩을 사용하니까 작업 시간이 확실히 줄어드는구나..
이번 주에 발견한 이슈들
1. 주기적으로 업데이트되는 정보를 어떻게 반복해서 크롤링해오지?
BeautifulSoup의 time.sleep() 메소드를 이용하면 refresh 시간을 설정해줄 수 있다.
참고 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=teenager4282&logNo=220965376012
일정 시간마다 대상 페이지들을 새로 크롤링해서 db를 갱신하도록 설정하자.
2. db의 해당 collection 내에 이미 존재하는 중복 정보는 거르고, 신규 정보만 db에 넣도록 검사하는 작업이 가능할까?
확인 필요. (아직 여기까지 못찾아봤다)
3. 정보 크롤링의 위법성에 대한 이슈
친구에게 보다 프로젝트에 대한 이야기를 하다가, 이미 아카이브되어있는 웹페이지의 정보를 크롤링해와도 법적으로 문제가 없냐는 질문을 들었다. 해당 부분에 대해서는 깊게 생각해보지를 않아서 이것저것 찾아봤는데, 해당 데이터베이스 제작자의 권리를 침해한 것으로 판단될 소지가 있는 듯 하다.. 낱개의 데이터를 크롤링하는건 OK지만 해당 정보를 이미 수집한 (제작자의 수집 노력 및 체계화 방식 등 지적 재산이 들어간) 데이터베이스 자체를 크롤링하는건 확실히 문제가 있을 듯.
이 사안을 검토할 때 중요한 부분은 두가지라고 판단했다.
- 데이터베이스의 지적 재산권 침해 여부
- 개인정보 보호법 위반 여부
보다 프로젝트에서 신경써야 할 부분은 1번이다.
3-1. 결론
갤러리 홈페이지에 게시된 낱개의 정보를 각각 크롤링해오는 방법을 선택하기로 함. 본 프로젝트를 연습 단계에서 끝내는 게 아니라 정식 운영하는 서비스로 만들고 싶기 때문이다..
주요한 갤러리를 추려 크롤링 리스트를 작성하고, 각각의 웹페이지에 맞춰서 크롤링하는 db를 작성하고, 소규모 갤러리의 경우 db에 직접 업데이트 하자.
To do List
- 크롤링할 갤러리 리스트 작성 (웹페이지가 존재하는 국내의 갤러리 리스트 최대한 수집하는 것을 목표로)
- 해당 갤러리 중 하나를 잡아서 크롤링 후 db에 넣는 프로세스 만들기 (POST)
- 2번의 프로세스가 일정기간마다 refresh 되도록 설정. (refresh 기간은 하루로 할 예정)
- db에서 해당 정보를 가져와서 페이지에 노출시킨다. (GET)
'Journal > 개인 프로젝트' 카테고리의 다른 글
스파르타 개인프로젝트 03 - 발표&회고 (0) | 2021.11.19 |
---|---|
[Boda] 북마크 모음 (0) | 2021.11.18 |
스파르타 개인프로젝트 001 - 기획/레이아웃 (0) | 2021.10.18 |