파이썬으로 별도의 날짜 값을 작성하는 방법이 있지만, 28일, 30일 등의 불규칙 적인 경우를 배제하기 위해 pandas의 함수를 이용한다.
import pandas as pd
pd.date_range(start="시작일",end="종료일")
-배열의 형태로 반환
예제)
2022년 1월 부터 5월 12일 까지의 영화 순위 데이터 수집
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 | #끝나는 값 포함 date = pd.date_range(start="2022-01-01",end="2022-05-12") date.strftime('%Y%m%d') #Y : 4글자 년도, y :2글자 년도 days = date.strftime('%Y%m%d') #데이터 프레임을 위한 배열 초기화 title_list = [] score_list = [] rank_list = [] for i in tn(days) : #url 의 맨 끝은 날자를 쿼리 스트링으로 받으므로, 마지막 부분의 날짜만 수정 url = 'https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=cur&tg=0&date='+i #파싱 수행 res = req.get(url); soup = bs(res.text, 'lxml') title = soup.select('div.tit5>a') score = soup.select('td.point') for j in range(len(title)) : title_list.append(title[j].text.strip()) score_list.append(score[j].text.strip()) rank_list.append(j+1) #데이터 프레임 movie_rank = pd.DataFrame({'순위':rank_list,'제목':title_list, '평점':score_list}) movie_rank.set_index('순위',inplace = True) display(movie_rank) | cs |
댓글
댓글 쓰기