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

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)