네이버 영화 평점 크롤링하기 질문있습니다.
222
작성한 질문수 1
네이버 영화 페이지가 평가 점수를 보려면 클릭을 통해 다른 페이지로 넘어가야 하도록 변경되었습니다.
평가 점수를 넣어보고 싶어 아래와 같은 코드를 추가해 문제를 해결했으나, 프로그램 동작이 느려지는 현상이 있습니다.
이걸 해결할 방법은 없을까요?
코드는 다른 부분은 강의에서와 같고 아래의 함수와 함수를 콜하는 부분만 더 추가되었습니다.
답변 2
1
말씀하신데로 리스트의 링크를 통해 한번 더 페이지를 로딩하게 되는경우 ^2 만큼의 속도 저하가 생기는게 당연한 내용입니다. 그러나 특정한 이유로 속도 저하를 극복하고자 한다면 여러가지 방법이 있을 수 있겠으나 사실 뭐하나 간단한 방법은 없습니다만..... 이론적인 방법을 얘기해보자면
가장 쉬운예로는 해당 서브페이지를 로딩하는 부분을 쓰레드로 분리하여 동작하게 하는 방법이 있습니다. 그러나 이 방법은 서브페이지의 쓰레드를 제어할 수 없기 때문에 페이지 양이 많아지면 프로그램 자체가 뻗을 수 있는 점, 그리고 리소스를 제어할 수 없는 단점이 있습니다. 프로그램에서 웹페이지 호출은 보장할 수 있으나 웹페이지의 로딩이 어느시점에 완료 될지는 전적으로 서버의 역할이기 때문입니다.
두번째로는 메인 프로세스를 쓰레드 풀로 구현하여 동작시키는 방법이 있습니다. 이는 첫번째보다 안정적이며 자원을 컨트롤 할 수 있는 장점이 있지만 구현하기가 좀 더 복잡해지는 단점이 있습니다.(쓰레드풀은 첫번째 방법의 단점을 극복하기 위해 나온 방법이라고 보실 수 있습니다.)
세번째로는 도커를 사용해서 각각의 크롤링 로직을 분리하여 완벽하게 독립적으로 구동하되 도커를 관장하는 프로그램을 새로 작성하는 방법도 있습니다만 이는 굉장히 규모가 커지고 복잡해지는 단점이 있고 도커에 대해서도 지식이 필요합니다.(전문적인 크롤링 엔진에서나 쓰일법한 기법중 하나 입니다.)
일단 이정도가 당장 생각나는 몇가지 방법들이긴 합니다만 위의 방법들이 사실 뭐하나 맘에 들지 않으시겠지만 실제 크롤링이라는 분야가 좀 더 깊게 들어갈 수록 복잡해지고 생각해야할 요소들이 많고 그만큼 전문적인 영역으로 들어가게 되는 장르 입니다. 따라서 프로젝트의 성질에 따라서 어떻게 구조를 설계하고 성능을 예측해야하는지는 어려운 숙제가 됩니다. 안정성을 중시할것인지 성능을 중시할것인지는 항상 어려운 문제 입니다.
차후에 기회가 되면 좀 더 전문적인 크롤링 엔진에 대한 내용을 다루는 강좌를 준비해봐야겠습니다.
38강 = 연산자 더하고 빼기
0
60
2
주석처리
0
117
1
함수의 파라미터값 msg
0
155
1
강의자료 이미지 안나옴
0
239
3
강의자료 질문 두번째
0
165
3
강의자료 관련 질문
0
116
1
파이썬 예외 처리 try / except 파일 처리 코드가 실행이 안됩니다.
0
235
1
소수 너무 어려워요
0
245
1
imagefont 함수 사용
0
239
1
pylint
0
357
1
add 함수 문의 ㅠㅠ
0
283
1
형식 문의드립니다.
0
210
1
변수 명을 왜 src, tar로 하셨는지 궁금합니다.
0
602
1
숫자야구 코드를 짜 봤는데 뭔가 이상합니다.
0
253
1
zsh: command not found: pylint
0
269
1
텔레그램 봇 만들기 코드 실행이 안됩니다 박사님..ㅠ
0
546
1
질문드립니다.
1
374
2
list.reverse() 출력에 대해서 질문있습니다.
1
433
1
데코레이터 함수 및 동작시간 질문입니다.~
1
323
2
opencv 사용하면서 궁금한점 (해상도)
1
781
1
질문드립니다.
1
299
1
아래 오류가 뜨면서 vscode가 컴파일이 되지 않는데.. 혹시 왜이럴까요?
1
445
1
크롤링안되는 현상 문의 드립니다.
1
422
1
파이썬 크롤링 관련 문의
1
278
1





