python 2.7 requests를 이용한 크롤링에서 동적 데이터 읽어오는 방법이 어떻게 되나요?
조회수 739회
url = "https://www.whoscored.com/Players/11119/Show/Lionel-Messi"
res = requests.get(url, headers=headers, proxies=proxies)
page_parser = bs4(res.content, "html.parser")
이런식으로 후스코어드의 메시의 평점을 가져오는 연습을 해보려고 했습니다. 해당 사이트에서 메시의 평점이 기록 되어있는 테이블 부분이 동적 데이터여서 그냥 page_parser변수를 출력해보았을 때는 평점 기록이 있는 table,tr,td 태그가 없이 겉에 있는 div태그만 나오더라구요
ajax로 넘어오는 거 같아서 해당 파일을 개발자도구를 열어서 찾아봤는데 network에서 제가 못찾는건지 모르겠지만 아무리 찾아도 없네요...
질문 1) 해당 사이트의 평점 자료가 ajax인지 단순 자바스크립트로 움직이는 건지 빠르게 파악하는 방법은 무엇인가요?
질문 2) 해당 사이트의 평점 정보를 크롤하려면 어떻게 접근해야하나요? 단 selenium은 쓰지 않구요! (selenium은 이미 완료했으나 requests를 이용하여 하고싶습니다!)
1 답변
-
첫번째. 개발자 도구를 이용하여 찾는 것이 가장 효율적입니다. XHR 탭을 보세요.
하기 링크가 스탯을 얻는 링크 같군요?
두번째. 브라우져를 사용하지 않겠다는 것은 javascript 부분을 알아서 처리하겠다는 겁니다. 물론 json 같은 문자열을 받는 경우는 쉽습니다만...결과를 받아서 javascript 로 수행하는 등의 로직이 있다면 javascript 를 실행시킬 방법을 찾아야 합니다.
댓글 입력