작성
·
568
0
안녕하세요 좋은 강의 잘 듣고 있습니다.
네이버 부동산 크롤링 관련하여 문의드리려고 하는데요,
특정 url에 대해 get을 통해 데이터를 받아올 때 특정 횟수 이상 요청을 반복하면 네이버에서 거절을 하는 것 같습니다.
(특정 횟수 후 res = get(url, headers = headers) 후 res.text를 찍어보면 "페이지를 찾을 수 없습니다."라는 식의 내용으로 바뀜)
앞선 질문 중에 retry 라이브러리 이용하여 해결했다는 사례를 봤고, headers 변수 내의 일부 key에 대한 Value를 변경하면 다른 주체(?)로 서버가 인식하여 다시 응답을 준다라고 이해했습니다.
여러 Location에 있는 pc로 각각의 header 정보를 확인해보니 대부분의 내용은 동일하였으나 [Authorization, Referer] 정도가 다른 Value를 갖더라구요.
따라서 최초 시도 후 서버로부터 Block 발생 시 다른 pc에서의 header 정보로 수정하여 다시 get을 시도했는데 여전히 동일한 block이 발생하고 있습니다.
질문입니다. header 정보의 일부 Key에 대한 Value를 임의로 수정했는데 서버에서 동일한 요청으로 판단할 수가 있나요? 즉 헤더 정보보다 상위의 메타 데이터가 있나요?
혹은 제가 header 정보 수정을 잘못 했다던지 등의 조언 부탁드립니다. 감사합니다.
답변 1
0
안녕하세요. 왠지 ip 차단 로직이 들어선것 같은데, 저도 봐봐야 할 것 같습니다.
혹시 진행하신 test 코드 full script로 (복사해서 붙여넣으면 바로 작동 가능한) 첨부해주실 수 있나요?
안녕하세요
제가 코드 구조를 비효율적으로 짜다보니 반복문 내 반복문으로 엄청난 리퀘스트를 날리고 있었습니다. 그 부분을 분리하여 최적화하니 대략 1500회의 요청에 대한 응답도 정상적으로 잘 오게 되었습니다.
다음번에 궁금한 점이 있으면 다시 문의드리겠습니다.
감사합니다. ^^