활동스트림에서 코스이름, 타이틀 내용 -> 제공예정/오늘/최근항목 으로 구분해서 가져오기 수행
[ 변수 ]
[ 구분해주는 div-class명 ]
[ cours, title 나타내는 class ]
#●처음~soup = bs(response, 'html.parser')까지 코드 생략●#
##cours & title 크롤링##
##제공예정##
upc_cours=soup.select('.js-upcomingStreamEntries.activity-group.columns.main-column>ul.activity-feed>li>div>div>div>div>div>a')
upc_title=soup.select('.js-upcomingStreamEntries.activity-group.columns.main-column>ul.activity-feed>li>div>div>div>div>div.name>ng-switch>a')
##오늘##
td_cours=soup.select('.js-todayStreamEntries.activity-group.columns.main-column>ul.activity-feed>li>div>div>div>div>div>a')
td_title=soup.select('.js-todayStreamEntries.activity-group.columns.main-column>ul.activity-feed>li>div>div>div>div>div.name>ng-switch>a')
##최근항목##
pre_cours=soup.select('.js-previousStreamEntries.activity-group.columns.main-column>ul.activity-feed>li>div>div>div>div>div>a')
pre_title=soup.select('.js-previousStreamEntries.activity-group.columns.main-column>ul.activity-feed>li>div>div>div>div>div.name>ng-switch>a')
#문자열만 추출 - len() : 리스트 크기
for i in range(0,len(upc_cours)):
upc_cours[i]=upc_cours[i].text
upc_title[i]=upc_title[i].text
for i in range(0,len(td_cours)):
td_cours[i]=td_cours[i].text
td_title[i]=td_title[i].text
for i in range(0,len(pre_cours)):
pre_cours[i]=pre_cours[i].text
pre_title[i]=pre_title[i].text
#select()는 리스트로 담음
for i in range(len(upc_cours)):
print(upc_cours[i])
print(upc_title[i])
print("\n")
for i in range(len(td_cours)):
print(td_cours[i])
print(td_title[i])
print("\n")
for i in range(10): #최근활동은 10개만 가져올 것임
print(pre_cours[i])
print(pre_title[i])
제공예정/오늘/최근항목 구분하는 이유
제출해야될 과제는 '제공예정'과 '오늘' 항목에만 떠서 우리는 과제 마감기한을 알림으로 알려줄 예정이기 때문에 다른 [과제]카테고리 내용과 구분할 필요가 있음 이 구분을 쉽게 하기 위해 제공예정/오늘/최근항목 파트를 나눈 것이고,
최근항목에서 최소 10개는 불러와야한다고 판단한 바, 구분을 통해 개수를 확실시하기 위함이다.
자 근데, '오늘'에는 마감 과제 스트림 뿐만 아니라 오늘 제공된 스트림들도 뜨기 때문에 '오늘'에서 '마감과제'를 따로 불러와야할 필요가 있음
생각해보니 구분할 이유가 없어서 그냥 전체 스트림을 가져오는 방법을 썼다가, 이후에 이상하게 스트림 내용을 너무 적게 불러오는 것 같아서 그냥 다시 사용하기로 했다. 문제는, 여전히 왜 스트림 내용을 가져오는 게 변동적이고 더 적은 건지 의문이라는 것이다.
-> 지금 추측으로는 동적사이트라 페이지 로딩에 따라 달라진다? 고 추정 중..