본문 바로가기

SeSAC 금융데이터 분석가/웹 크롤링

8/31 수

728x90

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로 주소를 찾는 방법도 있음

iframe을 확인한 뒤 src 속성 값으로 URL 수정
Network 탭_All_ Name_해당 src_Headers_General_Request URL

Network 탭_All_ Name_해당 src_Headers_General_Request URL

 

728x90

'SeSAC 금융데이터 분석가 > 웹 크롤링' 카테고리의 다른 글

9/2 금  (0) 2022.09.02
9/1 목  (0) 2022.09.01