RUBY
[WebData][Movie] 1. 네이버 영화 평점 사이트 분석 본문
웹 데이터 수집하고 정리하기
네이버 영화 평점 사이트 분석
1. 네이버 영화 평점 사이트 분석
1.
- https://movie.naver.com/
- 영화랭킹 탭 이동
- 영화랭킹에서 평점순(현재상영영화) 선택
https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=cur&date=20230205
- 날짜 정보를 변경해주면 해당 페이지에 접근이 가능합니다.
영화 제목은 <td class="title">안에 <div class="tit5">안에 <a>태그 안에 있다.
영화 평점은 <td class="point">
2.
- find_all 명령으로 쉽게 접근한다
- div 태그의 tit5를 확인해보니 안에 a태그가 보인다.
soup.find_all("div", "tit5")
3. 영화 제목 가져오기
soup.find_all("div", "tit5")[0].a.string
soup.select(".tit5")[0].find("a").text
soup.select(".tit5")[0].select_one("a").get_text()
4. 영화 평점 확인하기
soup.find_all("td", "point")
len(soup.find_all("td", "point")), len(soup.find_all("div", "tit5"))
soup.find_all("td", class_="point")[0].text, soup.select("td.point")[0].string
5. 자 이제 반복문을 넣어보자
- 매 페이지마다 가져오는 영화의 갯수가 조금씩 다르다.
- 그래서 end 변수에 한 페이지의 영화제목 갯수를 넣고
- 0부터 그 갯수(실제로는 하나 빼고) 만큼 for문을 돌려준다.
end = len(soup.find_all("div", "tit5"))
movie_name = []
for n in range(0, end):
movie_name.append(
soup.find_all("div", "tit5")[n].a.string
)
movie_name
movie_name = [soup.select(".tit5")[n].a.text for n in range(0, end)]
movie_name
6. 포인트도 마찬가지로 처리해보자
end = len(soup.find_all("td", "point"))
movie_point = [soup.find_all("td", "point")[n].string for n in range(0, end)]
movie_point
7. 전체 데이터수 확인하기
len(movie_name), len(movie_point)
'데이터 분석 > EDA_웹크롤링_파이썬프로그래밍' 카테고리의 다른 글
[WebData][Movie] 3. 영화 평점 데이터 정리 (0) | 2023.02.05 |
---|---|
[WebData][Movie] 2. 자동화를 위한 코드 (0) | 2023.02.05 |
[WebData][chicago] 6. 시카고 맛집 데이터 지도 시각화 (0) | 2023.02.05 |
[WebData][chicago] 5. Regular Expression (1) | 2023.02.05 |
[WebData][chicago] 4. 하위페이지 분석 (0) | 2023.02.05 |
Comments