북치기_개발모드
북치기 개발모드
북치기_개발모드
전체 방문자
오늘
어제
  • 분류 전체보기 (39)
    • 개발 (28)
      • python (20)
      • flutter (0)
      • 잡종 (8)
    • 잡다한것들 (6)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 마케팅db
  • 네이버
  • 셀레니움
  • 카멜리 파티룸
  • Python
  • 판매자db
  • 광주파티룸
  • 파이썬
  • 브라이덜샤워
  • select
  • Update
  • #공유오피스
  • 사업자 전화번호
  • jsp
  • 카멜리파티룸
  • mysql
  • 전대 파티룸
  • delete
  • 광주
  • 크롤링

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
북치기_개발모드

북치기 개발모드

파이썬 requests 이미지 다운로드 에러 처리[403,permission]
개발/python

파이썬 requests 이미지 다운로드 에러 처리[403,permission]

2022. 9. 21. 12:19
반응형

작업 특성상 디렉토리 몇 개를 거치는 경로를 설정해야 했다.

첫 번째로 시도한 건 curl인데, 이건 경로 지정하는 방식을 못 찾겠어서 포기했다.

두 번째는 request를 활용한 urlretrieve 방식인데, 인터넷 예시를 참조했다.

import requests

url = "https://dispatch.cdnser.be/cms-content/uploads/2020/04/09/a26f4b7b-9769-49dd-aed3-b7067fbc5a8c.jpg"

urllib.request.urlretrieve(url, "test.jpg")

urllib.error.HTTPError: HTTP Error 403: Forbidden 이런 에러가 발생하였다.

전형적 크롤링 에러로, 헤더를 추가해줘야 하는데, 이 상태로는 해더를 넣을 수가 없었다.

코드를 좀 변형하여 헤더를 추가해주었다.

import requests
import os

dir_now = os.path.dirname(os.path.abspath(__file__))

r = requests.get(url,headers=headers)

with open(dir_now, "wb") as outfile:
     outfile.write(r.content)

 

이렇게 하면 될 줄 알았는데 퍼미션 에러가 떠버렸다.

PermissionError: [Errno 13] Permission denied: 'C:\\Users\\

with open(dir_now, "wb") as outfile:

찾아보니 퍼미션 에러는 대부분 경로지정을 잘못했거나,

파일이름을 넣어야 할 때 경로를 넣거나 하는 부분에서 장애가 발생한다고 한다.

https://118k.tistory.com/424

 

내 경우에는 dir_now 부분에 디렉터리 경로가 아닌, 파일 이름을 넣어보니 해결됐다.

완성본

import requests

dir_now = os.path.dirname(os.path.abspath(__file__))

r = requests.get(url,headers=headers)

with open(f'{dir_now}/test.jpg', "wb") as outfile:
     outfile.write(r.content)

 

저 부분은 변수 처리를 하여 반복문을 돌리면 해결될 일이다.

 

참고하였음.

 

[python][error] PermissionError: [Errno 13] Permission denied: ...

PermissionError: [Errno 13] Permission denied: 파이썬에서 파일을 오픈하려고 할때 위와 같은 오류가 발생할 때가 있다. 이오류는 다음의 경우에 발생한다. - 파일을 오픈할 수 있는 권한이 없을때. - 파일

118k.tistory.com

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'개발 > python' 카테고리의 다른 글

pyinstaller : RuntimeError: input(): lost sys.stdin  (0) 2022.09.26
파이썬 이미지 resize 방법 / 가로, 세로 다르게 적용하기 PIL  (0) 2022.09.22
네이버 뉴스 댓글 크롤링 및 여론 조사 (22.09.13.최신)  (0) 2022.09.13
파이썬 작업스케줄러 할 때 주의점(셀레니움/schedule모듈)  (0) 2022.04.06
textarea 내용 크롤링 잘 안될 때  (0) 2022.04.06
    '개발/python' 카테고리의 다른 글
    • pyinstaller : RuntimeError: input(): lost sys.stdin
    • 파이썬 이미지 resize 방법 / 가로, 세로 다르게 적용하기 PIL
    • 네이버 뉴스 댓글 크롤링 및 여론 조사 (22.09.13.최신)
    • 파이썬 작업스케줄러 할 때 주의점(셀레니움/schedule모듈)
    북치기_개발모드
    북치기_개발모드
    북치기박치기 개발모드입니다.

    티스토리툴바