웹크롤링(web crawling)_20210506기준 네이버영화 랭킹페이지
WEB 2021. 5. 3. 09:56영화 랭킹페이지에서 제목, 평점 수집¶
In [18]:
import requests as req
from bs4 import BeautifulSoup as bs
import pandas as pd
In [29]:
movie_url = "https://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=cur&date=20210503"
In [30]:
movie_res = req.get(movie_url)
In [31]:
movie = movie_res.text
In [32]:
movie_soup = bs(movie, 'lxml')
In [33]:
movie_title = movie_soup.select("div.tit5")
In [34]:
movie_rate = movie_soup.select("td.point")
In [35]:
len(movie_title)
Out[35]:
50
In [36]:
len(movie_rate)
Out[36]:
50
In [37]:
mrank_list = []
mt_list = []
mr_list = []
for i in range(len(movie_title)) :
mrank_list.append(i+1)
mt_list.append(movie_title[i].text.strip())
mr_list.append(movie_rate[i].text)
print(mrank_list)
print(mt_list)
print(mr_list)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50] ['극장판 바이올렛 에버가든', '레옹', '다시 태어나도 우리', '피아니스트', '미안해요, 리키', '부활: 그 증거', '자산어보', '소울', '극장판 귀멸의 칼날: 무한열차편', '플립', '우리들', '소년시절의 너', '바람과 함께 사라지다', '킹 오브 프리즘', '라야와 마지막 드래곤', '킹 오브 프리즘 프라이드 더 히어로', '바그다드 카페 : 디렉터스컷', '그 시절, 우리가 좋아했던 소녀', '룸', '명탐정 코난: 비색의 탄환', '그것만이 내 세상', '러브 액츄얼리', '중경삼림', '더 박스', '장수상회', '아무도 모른다', '이별의 아침에 약속의 꽃을 장식하자', '리틀 포레스트', '화양연화', '죽여주는 여자', '찬실이는 복도 많지', '바닷마을 다이어리', '아티스트', '우리집', '진짜로 일어날지도 몰라 기적', '노바디', '플로리다 프로젝트', '태풍이 지나가고', '실버라이닝 플레이북', '더 스파이', '그녀', '스틸 앨리스', '노매드랜드', '패터슨', '고질라 VS. 콩', '팅커 테일러 솔저 스파이', '테넷', '문라이즈 킹덤', '더 랍스터', '미나리'] ['9.48', '9.37', '9.35', '9.33', '9.32', '9.31', '9.31', '9.30', '9.30', '9.27', '9.26', '9.26', '9.24', '9.18', '9.15', '9.12', '9.05', '9.02', '9.01', '8.96', '8.93', '8.93', '8.93', '8.92', '8.89', '8.87', '8.87', '8.82', '8.78', '8.77', '8.76', '8.73', '8.72', '8.71', '8.70', '8.67', '8.64', '8.60', '8.57', '8.54', '8.52', '8.48', '8.43', '8.29', '8.25', '8.21', '8.17', '8.11', '7.90', '7.73']
In [38]:
movie_info = {"rank" : mrank_list, "title": mt_list, "rate": mr_list}
In [39]:
movie_pd = pd.DataFrame(movie_info)
movie_pd
Out[39]:
rank | title | rate | |
---|---|---|---|
0 | 1 | 극장판 바이올렛 에버가든 | 9.48 |
1 | 2 | 레옹 | 9.37 |
2 | 3 | 다시 태어나도 우리 | 9.35 |
3 | 4 | 피아니스트 | 9.33 |
4 | 5 | 미안해요, 리키 | 9.32 |
5 | 6 | 부활: 그 증거 | 9.31 |
6 | 7 | 자산어보 | 9.31 |
7 | 8 | 소울 | 9.30 |
8 | 9 | 극장판 귀멸의 칼날: 무한열차편 | 9.30 |
9 | 10 | 플립 | 9.27 |
10 | 11 | 우리들 | 9.26 |
11 | 12 | 소년시절의 너 | 9.26 |
12 | 13 | 바람과 함께 사라지다 | 9.24 |
13 | 14 | 킹 오브 프리즘 | 9.18 |
14 | 15 | 라야와 마지막 드래곤 | 9.15 |
15 | 16 | 킹 오브 프리즘 프라이드 더 히어로 | 9.12 |
16 | 17 | 바그다드 카페 : 디렉터스컷 | 9.05 |
17 | 18 | 그 시절, 우리가 좋아했던 소녀 | 9.02 |
18 | 19 | 룸 | 9.01 |
19 | 20 | 명탐정 코난: 비색의 탄환 | 8.96 |
20 | 21 | 그것만이 내 세상 | 8.93 |
21 | 22 | 러브 액츄얼리 | 8.93 |
22 | 23 | 중경삼림 | 8.93 |
23 | 24 | 더 박스 | 8.92 |
24 | 25 | 장수상회 | 8.89 |
25 | 26 | 아무도 모른다 | 8.87 |
26 | 27 | 이별의 아침에 약속의 꽃을 장식하자 | 8.87 |
27 | 28 | 리틀 포레스트 | 8.82 |
28 | 29 | 화양연화 | 8.78 |
29 | 30 | 죽여주는 여자 | 8.77 |
30 | 31 | 찬실이는 복도 많지 | 8.76 |
31 | 32 | 바닷마을 다이어리 | 8.73 |
32 | 33 | 아티스트 | 8.72 |
33 | 34 | 우리집 | 8.71 |
34 | 35 | 진짜로 일어날지도 몰라 기적 | 8.70 |
35 | 36 | 노바디 | 8.67 |
36 | 37 | 플로리다 프로젝트 | 8.64 |
37 | 38 | 태풍이 지나가고 | 8.60 |
38 | 39 | 실버라이닝 플레이북 | 8.57 |
39 | 40 | 더 스파이 | 8.54 |
40 | 41 | 그녀 | 8.52 |
41 | 42 | 스틸 앨리스 | 8.48 |
42 | 43 | 노매드랜드 | 8.43 |
43 | 44 | 패터슨 | 8.29 |
44 | 45 | 고질라 VS. 콩 | 8.25 |
45 | 46 | 팅커 테일러 솔저 스파이 | 8.21 |
46 | 47 | 테넷 | 8.17 |
47 | 48 | 문라이즈 킹덤 | 8.11 |
48 | 49 | 더 랍스터 | 7.90 |
49 | 50 | 미나리 | 7.73 |
In [40]:
movie_pd.set_index("rank", inplace=True)
In [41]:
movie_pd
Out[41]:
title | rate | |
---|---|---|
rank | ||
1 | 극장판 바이올렛 에버가든 | 9.48 |
2 | 레옹 | 9.37 |
3 | 다시 태어나도 우리 | 9.35 |
4 | 피아니스트 | 9.33 |
5 | 미안해요, 리키 | 9.32 |
6 | 부활: 그 증거 | 9.31 |
7 | 자산어보 | 9.31 |
8 | 소울 | 9.30 |
9 | 극장판 귀멸의 칼날: 무한열차편 | 9.30 |
10 | 플립 | 9.27 |
11 | 우리들 | 9.26 |
12 | 소년시절의 너 | 9.26 |
13 | 바람과 함께 사라지다 | 9.24 |
14 | 킹 오브 프리즘 | 9.18 |
15 | 라야와 마지막 드래곤 | 9.15 |
16 | 킹 오브 프리즘 프라이드 더 히어로 | 9.12 |
17 | 바그다드 카페 : 디렉터스컷 | 9.05 |
18 | 그 시절, 우리가 좋아했던 소녀 | 9.02 |
19 | 룸 | 9.01 |
20 | 명탐정 코난: 비색의 탄환 | 8.96 |
21 | 그것만이 내 세상 | 8.93 |
22 | 러브 액츄얼리 | 8.93 |
23 | 중경삼림 | 8.93 |
24 | 더 박스 | 8.92 |
25 | 장수상회 | 8.89 |
26 | 아무도 모른다 | 8.87 |
27 | 이별의 아침에 약속의 꽃을 장식하자 | 8.87 |
28 | 리틀 포레스트 | 8.82 |
29 | 화양연화 | 8.78 |
30 | 죽여주는 여자 | 8.77 |
31 | 찬실이는 복도 많지 | 8.76 |
32 | 바닷마을 다이어리 | 8.73 |
33 | 아티스트 | 8.72 |
34 | 우리집 | 8.71 |
35 | 진짜로 일어날지도 몰라 기적 | 8.70 |
36 | 노바디 | 8.67 |
37 | 플로리다 프로젝트 | 8.64 |
38 | 태풍이 지나가고 | 8.60 |
39 | 실버라이닝 플레이북 | 8.57 |
40 | 더 스파이 | 8.54 |
41 | 그녀 | 8.52 |
42 | 스틸 앨리스 | 8.48 |
43 | 노매드랜드 | 8.43 |
44 | 패터슨 | 8.29 |
45 | 고질라 VS. 콩 | 8.25 |
46 | 팅커 테일러 솔저 스파이 | 8.21 |
47 | 테넷 | 8.17 |
48 | 문라이즈 킹덤 | 8.11 |
49 | 더 랍스터 | 7.90 |
50 | 미나리 | 7.73 |
In [42]:
# 데이터프레임을 파일로 저장
# 1번째 .csv로 저장
movie_pd.to_csv("movie.csv", encoding = "euc-kr")
In [43]:
# 2번째 .html 로 저장
movie_pd.to_html("movie.html")
In [ ]:
'WEB' 카테고리의 다른 글
웹크롤링(Web crawling)_selenium(셀레니움) (0) | 2021.05.03 |
---|---|
웹크롤링(web crawling)_영화관람객 리뷰 수집 (0) | 2021.05.03 |
웹크롤링(web crawling)_ request, beautifulSoup, 예제 (0) | 2021.05.03 |
웹크롤링(web crawling) 입문,기본 (0) | 2021.05.03 |
css 기본_2 (stylesheet 명시도, 공간분할 기타 등..) (0) | 2021.05.03 |