(오늘의 영화 : 그린 북)

오늘 한 일 (To Do List)

  • 독립영화 DB 크롤링을 위해서, 활용했었던 '영화진흥위원회' 크롤링하면서 막혔던 부분 해결하기

    http://www.kobis.or.kr/kobis/business/mast/mvie/findDiverMovList.do
    // 영화진흥위원회_독립영화

  • 기존에 하던 도중에 막혔던 부분인, 영화 '애정' 크롤링 도중 걸리는 오류를 디버깅하기.
    : 그 당시에는, 시간이 많지 않아서 필요한 정도로 DB를 채운 것 같아서 기능만 대충 구현되었으면 나중에 수정하자고 넘겼었는데, 프로젝트 발표도 끝났고 디버깅을 하기에, 충분한 시간이 있어서 진행하였다.

(정상적인 영화정보)

(비정상적인 영화정보)

해당 부분에서 영화장르에 대한 값이 없어서, 이 부분을 어떻게 처리해야할까 생각해야했지만, 그럴만한 여유가 없었다.

이러한 오류를 해결하기 위해서 기획했던 방법은, 영화제목 값들 중에서 '애천'이라는 영화제목을 가진 정보를 다루는 구문에 들어간다면, 무시하고 다음 영화를 진행하는 "if ~ continue" 를 사용하려고 계획했다.

그렇게 하기 위해서는,
① selenium - driver.find_element_by_xpath 를 활용
② selenium 으로 처리했을 때, 나오는 데이터를 내부 텍스트 데이터로 변환시켜주는 것
이 필요하다.

그래서, 구글링하던 도중 알아낸 곳을 통해서 .text 를 활용하여 디버깅을 완료. 문제를 해결했다.

https://medium.com/@nsh235482/python-selenium%EC%9C%BC%EB%A1%9C-%EC%9B%B9%EC%82%AC%EC%9D%B4%ED%8A%B8-%ED%81%AC%EB%A1%A4%EB%A7%81%ED%95%98%EA%B8%B0-3-%EB%8D%B0%EC%9D%B4%ED%84%B0-%ED%8C%8C%EC%8B%B1-383f2f72e8f4
// 파이썬 selenium으로 데이터 크롤링하기

(성공적인 최종 코드)

# 영화 '애천'에서 오류 발생!(영화장르 정보가 입력되지 않았음) 아예 영화제목 텍스트로 걸리면 스킵하고 진행
            movie_title = driver.find_element_by_xpath("//*[@id='listArea']/div/ul/li["+ str(j+1) +"]/div/strong/a")
            movie_title_data = movie_title.text
            print('<Test>'+ ' ' + movie_title_data + '\n')
            if movie_title_data =="애천":
                continue
            

이로 인한 결과

  • 기존 독립영화 DB에 저장되어있는 영화는 "422개" 였는데, 디버깅을 통해서 DB에 "527개" 의 데이터를 저장할 수 있게 되었다. :D

  • Page3에서 나오는 독립영화 DB를 채워야하는데, 알아보니 '영화진흥위원회' 와 '영상자료원' 밖에 없다는 것을 알게 되었다.
    영화진흥위원회는, 크롤링을 완성적으로 끝낸 상황이고, 이제 남은 것은 뒤죽박죽 난잡하게 변수명을 난발하여, 코드를 보는 이들의 마음을 짜증나게 하는 "영상자료원" 만 남아있다.

  • (문제의)"영상자료원"에서 데이터를 끌고 올 방법은 두 가지이다.
    ①selenium으로 웹 페이지 크롤링
    ②OpenAPI 활용하여 크롤링 2가지이다.
    (다음 개발 때, 진행해야할 부분)

profile
백엔드 개발자 준비생인 영화광 심리학도입니다. #node.js #Javascript #영화광 #심리학 #백엔드개발자

0개의 댓글