python request 지연시키기 질문!!
조회수 698회
웹크롤링 할때
res = requests.get(url, headers=custom_headers, params = paramDict,cookies=cookies)
이런식으로 get방식으로 리퀘스트를 보내면
그 홈페이지가 리퀘스트를 받으면 바로 뿌려주는것이아니라 뿌려지기전에는
빈홈페이지에
Loading
이걸띄워놓고 다불러와지홈페이지를 띄웁니다.
그래서 저 res에는 document.cookie = "testck2=e1f8c5e995f64c61ad0e0891fba09fc0; path=/"; loading...
이런식으로 밖에 안나옵니다.
다 뿌려진뒤의 값들을 크롤링 하고싶은데
requests 로는 무리인가요?? selenium을 써야하나요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
대개 "Loading..."으로 나오는 것은 client에서 javascript로 rendering되는 경우입니다. Javascript 실행된 다음 만들어지는 DOM의 상태를 사용해야하므로 일반적인 GET으로는 어렵습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
- 그러면 어떠한 식으로 접근을 해야할까요 ? selenium 으로는 할 수 있지만 , requests 로도 해보고 싶어서 그렇습니다. 알 수 없는 사용자 2020.4.21 22:58
- 순수하게 python만으로 javascript를 emulation하면서 하고 싶으신건가요? 과거엔 spidermonkey를 썼었는데, 요샌 nodejs 로 작성하면 가능할 것같네요. 살짝 보니 spidermonkey는 더 이상 진행되지 않고, javascript vm에서 코드를 실행하여 연결하는 새 프로젝트도 있는것 같군요. 알 수 없는 사용자 2020.4.21 23:09
-
댓글 입력