제일 흔한 영화 리뷰를 가져오기로 한다. 이 사이트는 네이버 영화 사이트이다.
movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=cur&date=2017-05-01
크롤링하기 위해서는 html의 구조를 봐야 한다. 크롬에서 F12 버튼을 통해 해당 페이지의 소스를 본다. 이걸 통해 해당 위치가 어디인지 찾을 수 있다.
아래 환경은 jupyter에서 실행하였다. 크롤링할 때 대표적으로 쓰는 BeautifulSoup을 사용하였다.
기본적인 필요 로직이다. base_url에 기본 메인 home url을 넣고 sub에 우리가 이동한 곳에 대한 url을 넣는다.
그리고 try except를 통해 에러가 났을 때 해당 부분으로 보낸다.
그게 아닐 경우 BeautifulSoup를 이용해서 html을 읽어 soup에 저장한다.
그 후 soup를 통해 find_all이라는 명령어를 통해 모든 것을 가져오고 그중에 [0] 번째 인덱스의 값을 가져온다.
거기서 a태그의 string 값을 가져오거나
또는 a태그를 get_text로 값을 가져온다.
이번엔 point 값을 가져온다.
이렇게 값을 가져오고 가져온 값을
리스트에 넣어주는 작업을 하자.
이제 하루의 날이 아닌 여러 개의 날의 데이터를 가져오는 작업을 해보자 일단 우리가 필요한 날짜 데이터를 만든다.
이건 안 해도 되지만 시간이 걸릴 때 잘 돌아가고 있는지 확인을 하기 위해 사용한다.
tqdm_notebook은 이렇게 loop에 대한 진행사항을 볼 수 있다.
이렇게도 가능하다.
이제 date와 names와 point를 가져와 써보자
이 값을 DataFrame 형태로 만들어 주자
우리는 point를 사용하기 위해 데이터 타입을 바꿔줄 필요가 있다.
astype을 이용해서 데이터 타입을 바꿔준다.
그룹으로 묶어서 보기 위해서는
결과에 대해 정렬을 하기 위해서
칼럼에 where 조건절이다.
이런 식으로 내가 원하는 데이터를 가져올 수 있다.
'Base > Python' 카테고리의 다른 글
[Python] BeautifulSoup을 통한 이미지 스크래핑 하기 (0) | 2020.10.07 |
---|---|
[python] 영화 리뷰에 대한 자연어 처리분석/ 감성분석하기 feat. 스크래핑 (0) | 2020.10.07 |
[Python] 파이썬 기초 14 - 아주 기초적인 pandas 사용법과 예제 (0) | 2020.08.19 |
[Python] 파이썬 기초 13 - 파이썬을 통한 파일 입출력 사용법 (0) | 2020.08.19 |
[Python] 파이썬 기초 12 - 예외처리 (0) | 2020.08.19 |