작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
513
1
# 헤더 추가
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
}
# 이미지 다운로드
response = requests.get(url, headers=headers)
print(response.content)
img_data = BytesIO(response.content)
# BytesIO 객체에서 이미지 열기
img = Image.open(img_data)
# 이미지 저장 (optional)
img.save("downloaded_image.jpg")
response.content를 출력하면 b'' 이 값을 출력하게 되는데 원인을 잘 모르겠습니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
이환주님, Python을 이용한 이미지 크롤링 시 response.content
가 비어있는 현상을 겪고 계시군요. response.content
가 비어 있는 경우, 요청이 제대로 이루어지지 않았거나 방어 메커니즘에 의해 차단된 것일 수 있습니다. 우선 상태 코드인 response.status_code
를 확인하여 HTTP 요청이 성공적으로 이루어졌는지 확인해 주세요. 200 OK
가 아닌 다른 상태 코드가 나오면 요청 자체가 제대로 처리되지 않았음을 의미합니다.
또한, 일부 웹사이트에서는 User-Agent 외에도 추가적인 헤더나 쿠키 정보가 필요할 수 있고, 특정 JavaScript 실행 후에 이미지 URL이 생성되는 경우도 있습니다. 이 경우에는 별도의 방법을 사용해야 할 수도 있습니다. 예를 들어, selenium
과 같은 라이브러리를 사용하여 실제 브라우저에서 이미지를 로딩한 후 다운로드를 시도할 수 있습니다.
추가로, 이미지 URL 이 복잡하거나 정확하지 않은 경우에도 비슷한 문제가 발생할 수 있습니다. URL을 다시 한번 확인해보시고, 정확한 이미지 주소를 얻으셨는지 검증해 보시길 권장합니다.
만약 상태 코드와 URL에 문제가 없음에도 문제가 지속된다면, 아래의 웹 문의 링크를 통해 직접 문의하시면 좀 더 자세한 도움을 받으실 수 있을 것 같습니다.
제 답변이 이환주님의 문제 해결에 도움이 되길 바랍니다. 추가적인 문의사항이 있으시면 언제든지 문의해주세요. 감사합니다!