망나니 AWOS의 일상
article thumbnail

 

 

beautifulsoup로는 사이트의 정보를 추출할 수 있지만 자바스크립트 같은 동적으로 생성된 정보들은 가져올 수 없다. 그래서 selenium을 이용해야 한다. 

 

해당 스크래핑하려는 해당 과목 강의의 공지사항이나 자료실 같은 링크를 개발자 도구로 열어보면 아래와 같이 되어있다.

<a href="javascript:void(0)" onclick="(해당 function({value1, value2});" title="hello" class="hello">헬로우</a>

일단 전체적인 코드가 beautifulsoup를 이용하기 위해 관련된 메서드를 이용해서 selenium + beautifulsoup 두 가지를 사용할 수 있도록 라이브러리를 import 하고 약간의 리팩토링을 했다...

 

리팩토링 후 본래 있던 코드들은 정상 작동하였고... 이제 문제점을 해결하려고 했다..

전달해주는 값이 잘못되었는지... 이렇게 뜬다. 아무래도 수강 신청하지 않은 강의라서 그런 것 같은데...

수강신청 안한 강의의 공지사항을 눌렀을 때의 반응
수강신청 한 과목의 공지사항 정상 작동

 

이게 문제의 원인이 뭔지는 알 것 같은데 해결할 방법이 없다...

사이트 주소가 아래와 같다면 courseActiveSeq 하나만 맞고 courseApplySeq를 다른 과목의 courseApplySeq로 맞춰두면 강의는 들을 수 있으나 공지사항이나 자료실 같은 데를 들어가게 되면 다른 과목의 공지사항이나 자료실이 뜨게 된다.

 

그래서 내가 생각한 결론은...  courseActiveSeq와 courseApplySeq의 지정된 값이 들어가야만 강의와 공지사항 및 자료실의 파일을 볼 수 있다는 것... courseApplySeq를 어떻게 받아와야 할지 모르겠다... 

하루의 90퍼센트를 요기다 쏟아붓는 것 같다... stackoverflow에서 살다시피 검색하고 답변으로 제시된 걸 내 코드에 맞게끔 입력하는데 계속 이것만 뜨는... 에효... 

 

붙일 기능들은 많았는데 하나씩 버리고 간단한 검색으로만 기능들을 끝내야 될지 모르겠다..

 

학교 API 신청한지가 언젠데... 연락이 안 오냔 말이다...

'잡다한 것 > 프로젝트 현황' 카테고리의 다른 글

[univ-lect-scrapper] 진행상황(2)  (0) 2021.09.15
profile

망나니 AWOS의 일상

@AWOS

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!