Example #1
0
    def beforeOpeningscore(self):
        return_before_score_list = []
        try:
            #기대 지수
            expectateIndex = driver.find_element_by_class_name("exp_info")
            like = expectateIndex.text.split('\n')[0]
            dislike = expectateIndex.text.split('\n')[1]
            #print("보고싶어요 : " + like)
            #print("글쎄요 : " + dislike)
            return_before_score_list.append(like)
            return_before_score_list.append(dislike)

            #네티즌 평점
            star_score_text = driver.find_element_by_id("beforePointArea")
            star_score = star_score_text.text.split('\n')[3]
            before_participator = star_score_text.text.split('\n')[4]
            #print("개봉 전 네티즌 평점 : " + star_score)
            #print("참여자 수 : " + before_participator.replace("참여", ""))
            temp = before_participator.replace("참여 ", "")
            return_before_score_list.append(star_score)
            return_before_score_list.append(temp.replace("명", ""))

        except:
            #print("개봉 전 정보 없음")
            return_before_score_list.append("None")
            return_before_score_list.append("None")
            return_before_score_list.append("None")
            return_before_score_list.append("None")

        return return_before_score_list
Example #2
0
    def afterAudienceOpeningscore_genderAndage(self):

        return_audience_score_gender_age_list = []
        gender_score = []
        age_score = []

        try:
            gender_score_text = driver.find_element_by_id("actual_group_graph")
            gender_score_graph = gender_score_text.text.split('\n')

            #남녀 참여율 리스트
            gender_score_participation_rate = []
            #남녀 평점 리스트
            gender_score_star_score = []

            #연령별 평점 리스트
            age_score_star_score = []

            ##파싱 정보 전처리
            #남/여 둘중에 참여율이 하나가 100%일 경우를 검사하는 메소드(인덱스가 2보다 작을 경우 둘 중 하나 100%)
            def return_participate_rate():
                for index in range(0, len(gender_score_graph)):
                    if gender_score_graph[index] == "참여율":
                        return index

            #남/여 둘중에 참여율이 하나가 100%일 경우 성별을 알아내는 메소드
            def return_men_or_women_score_zero():
                for index in range(0, len(gender_score_graph)):
                    if gender_score_graph[index] == "평점 0.00":
                        return index + 1

            #남/여 둘중에 참여율이 하나가 100%일 경우 연령별 평점 인덱스를 검사하는 메소드
            def return_age():
                for index in range(0, len(gender_score_graph)):
                    if gender_score_graph[index] == "10대":
                        return index

            participate_rate_index = return_participate_rate()
            score_index = return_men_or_women_score_zero()

            #남녀 참여율 리스트 데이터 채우기
            if participate_rate_index < 2:
                #연령별 참여율 리스트
                age_score_participation_rate = ["0", "0", "0", "0"]
                if gender_score_graph[score_index] == "남자":
                    male_rate = "0"
                    female_rate = "100"

                    male_score = "0.00"
                    female_score = gender_score_graph[score_index + 1].replace(
                        "평점 ", "")

                elif gender_score_graph[score_index] == "여자":
                    female_rate = "0"
                    male_rate = "100"

                    female_score = "0.00"
                    male_score = gender_score_graph[score_index - 3].replace(
                        "평점 ", "")

                gender_score_participation_rate.append(male_rate)  #남자 참여율
                gender_score_participation_rate.append(female_rate)  #여자 참여율

                gender_score_star_score.append(male_score)  #남자 평점
                gender_score_star_score.append(female_score)  #여자 평점

                #연령대 평점 임시 리스트
                age_score_star_score_temp = []

                age = return_age()
                for index in range(age, age + 8):
                    if gender_score_graph[index].find("평점") != -1:
                        age_score_star_score_temp.append(
                            gender_score_graph[index].replace("평점 ", ""))

                for index in range(0, len(age_score_star_score_temp)):
                    age_score_star_score.append(
                        age_score_star_score_temp[index])
                #print(age_score_star_score)
                age_score.append(age_score_star_score)

                #필요없는 데이터 제거
                removeData = 0
                for index in range(age + 8, len(gender_score_graph)):
                    if gender_score_graph[index].find("한줄분석") != -1:
                        removeData += 1

                if removeData == 1:
                    del gender_score_graph[-1]
                    del gender_score_graph[-1]
                    del gender_score_graph[-1]
                else:
                    del gender_score_graph[-1]

                #참여율 개수 검사
                temp = 0
                temp2 = []

                #연령별 참여율 데이터 temp2에 저장
                for index in range(age + 8, len(gender_score_graph)):
                    temp += 1
                    temp2.append(gender_score_graph[index])

                #temp의 개수에 따라 연령별 참여율 리스트 만들기
                if temp == 1:
                    for index in range(age, age + 8):
                        if gender_score_graph[index].find(
                                "평점 0.00"
                        ) == -1 and gender_score_graph[index].find("대") == -1:
                            if index == age + 1:
                                age_score_participation_rate[0] = "100"
                            elif index == age + 3:
                                age_score_participation_rate[1] = "100"
                            elif index == age + 5:
                                age_score_participation_rate[2] = "100"
                            else:
                                age_score_participation_rate[3] = "100"
                elif temp == 2:
                    i = 0
                    j = 0
                    print(gender_score_graph)
                    print(gender_score_graph[age:age + 8])
                    for index in range(age, age + 8):
                        if index % 2 != 0:
                            i += 1
                            if gender_score_graph[index].find("평점 0.00") == -1:
                                j += 1
                                age_score_participation_rate[i - 1] = temp2[
                                    j - 1].replace("%", "")

                elif temp == 3:
                    i = 0
                    j = 0
                    for index in range(age, age + 8):
                        if index % 2 != 0:
                            i += 1
                            if gender_score_graph[index].find("평점 0.00") == -1:
                                j += 1
                                age_score_participation_rate[i - 1] = temp2[
                                    j - 1].replace("%", "")

                else:
                    del age_score_participation_rate[0:4]
                    for index in range(14, 18):
                        age_score_participation_rate.append(
                            gender_score_graph[index].replace("%",
                                                              ""))  #'%' 제거

                age_score.append(age_score_participation_rate)
            else:
                #연령별 참여율 리스트
                age_score_participation_rate = ["0", "0", "0", "0"]

                male_rate = gender_score_graph[0].replace("%", "")  # '%' 제거
                female_rate = gender_score_graph[1].replace("%", "")  # '%' 제거

                male_score = gender_score_graph[3].replace("평점 ", "")  #'평점' 제거
                female_score = gender_score_graph[5].replace("평점 ",
                                                             "")  #'평점' 제거

                gender_score_participation_rate.append(male_rate)  #남자 참여율
                gender_score_participation_rate.append(female_rate)  #여자 참여율

                gender_score_star_score.append(male_score)  #남자 평점
                gender_score_star_score.append(female_score)  #여자 평점

                #연령대 평점 임시 리스트
                age_score_star_score_temp = []

                #연령대 평점 리스트 데이터 채우기(10대, 20대, 30대, 40대 이상 순)
                for index in range(7, 15):
                    age_score_star_score_temp.append(gender_score_graph[index])
                #필요없는 데이터 제거
                for index in range(0, len(age_score_star_score_temp)):
                    if index % 2 != 0:
                        age_score_star_score.append(
                            age_score_star_score_temp[index].replace(
                                "평점 ", ""))  #'평점' 제거

                #print(age_score_star_score)
                age_score.append(age_score_star_score)

                age = return_age()

                #필요없는 데이터 제거
                removeData = 0
                for index in range(age + 8, len(gender_score_graph)):
                    if gender_score_graph[index].find("한줄분석") != -1:
                        removeData += 1

                if removeData == 1:
                    del gender_score_graph[-1]
                    del gender_score_graph[-1]
                    del gender_score_graph[-1]
                else:
                    del gender_score_graph[-1]

                #참여율 개수 검사
                temp = 0
                temp2 = []

                #연령별 참여율 데이터 temp2에 저장
                for index in range(age + 8, len(gender_score_graph)):
                    temp += 1
                    temp2.append(gender_score_graph[index])

                #temp의 개수에 따라 연령별 참여율 리스트 만들기
                if temp == 1:
                    for index in range(age, age + 8):
                        if gender_score_graph[index].find(
                                "평점 0.00"
                        ) == -1 and gender_score_graph[index].find("대") == -1:
                            if index == age + 1:
                                age_score_participation_rate[0] = "100"
                            elif index == age + 3:
                                age_score_participation_rate[1] = "100"
                            elif index == age + 5:
                                age_score_participation_rate[2] = "100"
                            else:
                                age_score_participation_rate[3] = "100"
                elif temp == 2:
                    i = 0
                    j = 0
                    for index in range(age, age + 8):
                        if index % 2 == 0:
                            i += 1
                            if gender_score_graph[index].find("평점 0.00") == -1:
                                j += 1
                                age_score_participation_rate[i - 1] = temp2[
                                    j - 1].replace("%", "")

                elif temp == 3:
                    i = 0
                    j = 0
                    for index in range(age, age + 8):
                        if index % 2 == 0:
                            i += 1
                            if gender_score_graph[index].find("평점 0.00") == -1:
                                j += 1
                                age_score_participation_rate[i - 1] = temp2[
                                    j - 1].replace("%", "")

                else:
                    #연령대 참여율 리스트 데이터 채우기(10대, 20대, 30대, 40대 이상 순)
                    del age_score_participation_rate[0:4]
                    for index in range(15, 19):
                        age_score_participation_rate.append(
                            gender_score_graph[index].replace("%",
                                                              ""))  #'%' 제거

                age_score.append(age_score_participation_rate)

            gender_score.append(gender_score_participation_rate)
            gender_score.append(gender_score_star_score)

        except:
            #print("남녀별, 연령별 평점 정보 없음")
            gender_score.append("None")
            age_score.append("None")

        return_audience_score_gender_age_list.append(gender_score)
        return_audience_score_gender_age_list.append(age_score)

        return return_audience_score_gender_age_list
Example #3
0
    def afterAudienceOpeningScore(self):

        return_audience_score_list = []
        score = []
        point = []

        try:
            #관람객 평점 정보 (총 평점 - 별점)
            audience_score_all = driver.find_element_by_id(
                "actual_point_tab_inner")
            audience_score = audience_score_all.text.split('\n')[0]
            after_participator_audience = audience_score_all.text.split(
                '\n')[1]

            #print("개봉 후 관람객 평점 : " + audience_score)
            #print("관람객 평점 참여자 수 : " + after_participator_audience)

            score.append(audience_score)
            score.append(after_participator_audience)
        except:
            #print("개봉 후 관람객 평점 정보 없음")
            score.append("None")

        try:
            #관람객 점수 분포 (점수 분포 막대 그래프)
            audience_score_graph_text = driver.find_element_by_id(
                "actual_point_graph")
            audience_score_graph = audience_score_graph_text.text.split("\n")
            #점수 분포 리스트
            audience_score_graph_list = []

            #index가 2로 안나누어 떨어지는 netizen_score_graph 요소만 netizen_score_graph_list에 삽입
            for index in range(0, len(audience_score_graph)):
                if index % 2 != 0:
                    audience_score_graph_list.append(
                        audience_score_graph[index])

            #이 영화를 선호하는 연령대 텍스트 전처리
            if audience_score_graph_list[-1].find("입니다") != -1:
                audience_score_favorite_group_text = audience_score_graph_list[
                    -1].replace("이 영화를 가장 좋아하는 그룹은 ", "")
                audience_score_favorite_group = audience_score_favorite_group_text.replace(
                    "입니다.", "")

                #리스트 마지막 요소 삭제(선호하는 연령대 데이터)
                del audience_score_graph_list[-1]

            else:
                audience_score_favorite_group = "None"

            #리스트 첫 번째 요소 삭제 (필요없는 데이터이므로 삭제)
            del audience_score_graph_list[0]

            #점수 분포 텍스트 전처리 ('%' 제거)
            for index in range(0, len(audience_score_graph_list)):
                audience_score_graph_list[index] = audience_score_graph_list[
                    index].replace("%", "")

            #print(audience_score_graph_list)
            #print("선호하는 그룹(관람객) : " + audience_score_favorite_group)

            point.append(audience_score_graph_list)
            point.append(audience_score_favorite_group)

        except:
            #print("관람객 평점 막대 그래프 정보 없음")
            point.append("None")

        return_audience_score_list.append(score)
        return_audience_score_list.append(point)
        return return_audience_score_list
Example #4
0
    def afterNetizenOpeningscore(self):
        return_after_score_list = []
        score = []
        point = []

        try:
            #네티즌 평점 정보 (총 평점 - 별점)
            netizen_score_all = driver.find_element_by_id(
                "netizen_point_tab_inner")
            netizen_score = netizen_score_all.text.split('\n')[0]
            after_participator_netizen = netizen_score_all.text.split('\n')[1]

            #print("개봉 후 네티즌 평점 : " + netizen_score)
            #print("네티즌 평점 참여자 수 : " + after_participator_netizen)

            score.append(netizen_score)
            score.append(after_participator_netizen)
        except:
            #print("개봉 후 네티즌 평점 정보 없음")
            score.append("None")

        try:
            #네티즌 점수 분포 (점수 분포 막대 그래프)
            netizen_score_graph_text = driver.find_element_by_id(
                "netizen_point_graph")
            netizen_score_graph = netizen_score_graph_text.text.split("\n")

            #print(netizen_score_graph)
            #점수 분포 리스트
            netizen_score_graph_list = []

            #index가 2로 안나누어 떨어지는 netizen_score_graph 요소만 netizen_score_graph_list에 삽입
            for index in range(0, len(netizen_score_graph)):
                if index % 2 != 0:
                    netizen_score_graph_list.append(netizen_score_graph[index])

            #이 영화를 선호하는 연령대 텍스트 전처리
            if netizen_score_graph_list[-1].find("입니다") != -1:
                netizen_score_favorite_group_text = netizen_score_graph_list[
                    -1].replace("이 영화를 가장 좋아하는 그룹은 ", "")
                netizen_score_favorite_group = netizen_score_favorite_group_text.replace(
                    "입니다.", "")

                #리스트 마지막 요소 삭제(선호하는 연령대 데이터)
                del netizen_score_graph_list[-1]
            else:
                netizen_score_favorite_group = "None"

            #리스트 첫 번째 요소 삭제 (필요없는 데이터이므로 삭제)
            del netizen_score_graph_list[0]

            #점수 분포 텍스트 전처리 ('%' 삭제)
            for index in range(0, len(netizen_score_graph_list)):
                netizen_score_graph_list[index] = netizen_score_graph_list[
                    index].replace("%", "")

            #print(netizen_score_graph_list)
            #print("선호하는 그룹(네티즌) : " +netizen_score_favorite_group)

            point.append(netizen_score_graph_list)
            point.append(netizen_score_favorite_group)
        except:
            #print("네티즌 평점 막대 그래프 정보 없음")
            point.append("None")

        return_after_score_list.append(score)
        return_after_score_list.append(point)
        return return_after_score_list
Example #5
0
def adultLogin():
    _id = driver.find_element_by_id("id")
    _id.send_keys("####")  #개인정보 문제로 블락
    _pwd = driver.find_element_by_id("pw")
    _pwd.send_keys("####")  #개인정보 문제로 블락
    driver.find_element_by_xpath("//input[@type='submit']").click()
Example #6
0
def afterOpening():
    driver.find_element_by_id("afterPointTab").click()
Example #7
0
def beforeOpening():
    driver.find_element_by_id("beforePointTab").click()
Example #8
0
def clear():
    driver.find_element_by_id('ipt_tx_srch').clear()
Example #9
0
def inputMovieName(movieName):
    driver.find_element_by_id('ipt_tx_srch').send_keys(movieName)
    driver.implicitly_wait(3)