Art Cinema 프로젝트 개발일지1

LILY YOON·2020년 2월 19일
0

Art Cinema

목록 보기
1/5

Art Cinema 프로젝트

스파르타 코딩클럽에서 팀 프로젝트를 시작했다.
프로젝트 이름은 Art Cinema이고, 팀원중 한명의 아이디어이다.
왓챠플레이처럼 단편영화들을 볼 수 있는 서비스인데,
중요한 것은 고객의 선호도를 조사하여 단편영화를 추천해준다.
단편영화는 사람들이 잘 모르기 때문에 장편영화의 장르들을 통해
이상형월드컵, 토너먼트 식의 과정을 통해 선호하는 장르를 뽑는다.
그리고 그 장르와 관련된 단편영화를 추천해준다.

장편영화 crolling

팀원 중 한명이 먼저 장편영화 crolling 코드를 짜서 단톡방에 보내줬다.
코드를 보니, 네이버 영화에서 크롤링 하는 것이었는데,
일일히 url을 바꿔가면서 장르를 바꿔줘야 했고, 장르별로도 1위부터 4위까지 일일히 코드를 바꿔줘야 했다.

즉, driver()를 통해 링크로 들어가서 영화제목, 포스터, 배우, 줄거리, 장르 등은 크롤링이 되지만, 장르와 랭킹순위까지는 일일히 다 바꿔줘야 한다는 것이다.

나는 이것을 자동으로 1위부터 4위까지, 그리고 장르별로 까지 바꿔가면서 자동으로 크롤링하게 만들고 싶었다.
그래서 함수를 만들면서 내가 하고자 하려는 것을 단톡방에 올렸다.

def movie_data():
driver.back()

이런 함수를 이용하여 코드를 바꾸고 있었는데,
팀원 중 다른 한명이 내가 하고자 했던 것을 먼저 했다.

중요 포인트는,

driver.get(url + str(i + 1))

url 에 숫자를 더하는 것을 하고 싶으면 str()을 이용해서 하는 것.

xpath도 마찬가지로

driver.find_element_by_xpath("//*[@id='old_content']/table/tbody/tr[" + str(j + 2) + "]/td[2]/div/a").click()

url과 xpath에다 for문을 이용해서 숫자를 늘려가는 방식은 생각했는데, 어떻게 하는지 몰라서 해매고 있었다.
str()을 요렇게 쓰는것을 생각도 못했다..ㅠㅠ 꼭알아둬야 겠다 ㅠㅠㅠ




그리고 "두번째 장르가 존재할경우", 이부분도 나중에 다시 보면 좋을것같다.

일단 메인장르,

main_genre = '<1장르>' + '\n' + str(Long_movie_info.select_one(
'div.mv_info_area > div.mv_info > dl > dd:nth-child(2) > p > span:nth-child(1) > a').text)
print(main_genre + '\n')

두번째 장르가 존재할 경우,

        if Long_movie_info.select_one(
                'div.mv_info_area > div.mv_info > dl > dd:nth-child(2) > p > span:nth-child(1) > a:nth-child(2)') != None:
            second_genre = '<2장르>' + '\n' + str(Long_movie_info.select_one(
                'div.mv_info_area > div.mv_info > dl > dd:nth-child(2) > p > span:nth-child(1) > a:nth-child(2)').text)
        else:
            second_genre = '<2장르>' + '\n' + 'NONE'
        print(second_genre + '\n')

많이 배웠던 크롤링이었다. !

0개의 댓글