1. ConnectionError
네이버 뉴스 크롤링 시 headers로 사용하는 브라우저를 넣어주지 않으면 로봇이라 생각해 접속이 거부된다!
개발자 도구_Network_list.naver_user-agent 안에 브라우저 정보를 넣어주자~
Chrome: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36
Firefox: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:103.0) Gecko/20100101 Firefox/103.0
2. 비동기 방식 데이터 크롤링
비동기 방식 사이트는 렌더링 시 데이터를 가져오는 게 아님 (Why? 프런트/백엔드 서버 분리되어 있음)
클라이언트 HTML 문서를 먼저 불러온 뒤, 웹 API 서버에 데이터를 요청하여 추가적으로 화면을 그림
Network_Fetch/XHR에서 확인
requests.post(URL, data=)에서 data는 Fetch/XHR_Payload_From Data에서 확인 후 삽입
* 동기 방식 사이트는 Fetch/XHR_Payload_Query String Parameters임
3. iframe
가져와야 할 태그가 iframe일 경우 기존 URL 뒤를 src 속성 값으로 바꿔주고 request 해야 함
Network 탭_All_ Name 클릭하여 정렬 후 해당 src를 찾아 Headers_General_Request URL로 주소를 찾는 방법도 있음
Network 탭_All_ Name_해당 src_Headers_General_Request URL
'SeSAC 금융데이터 분석가 > 웹 크롤링' 카테고리의 다른 글
9/2 금 (0) | 2022.09.02 |
---|---|
9/1 목 (0) | 2022.09.01 |