(수정) 파이썬 HTTPError: Forbidden 질문드립니다!

조회수 864회

같은 주소에서 다운 받아올려고 합니다. 수동으로 하기엔 너무 많아서 간단하겠지하고 코딩을 했는데

HTTPError: Forbidden 이라고 나오네요.

%06 없이 그냥 1, 2, 3, 4.. 증가했을 때는 잘 되더니 앞에 0이 필요해서 6자리 맞추려고 넣으니 자꾸만 에러가 나옵니다.

중간에 %6d 부분이 000001 .... 000100 까지 바뀌며 다운 받아오려고 합니다.

구글링해보니 헤더를 넣으래서 이렇게 하는게 맞는진 모르겠는데 일단 넣어봤습니다. 그런데도 Forbidden 에러가 나오네요.

아래는 2가지 방법으로 시도해본 소스코드입니다.

도와주세요.

import urllib.request

import requests

for i in range(100):

    url = f'https://abcd.com/ABC/BC-{i:06d}.txt?key=QAWBCR-AAA=3'

    req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})

    response = urllib.request.urlopen(req).read()

    text = response.decode('utf-8')

    urllib.request.urlretrieve(text, "C:\Tempp\{}.ts".format(i))

import urllib.request

import requests

for i in range(100):

    user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1;)'

    headers = {'User-Agent' : user_agent, }

    url = f'https://abcd.com/ABC/BC-{i:06d}.txt?key=QAWBCR-AAA=3'

    secu_url = urllib.request.urlretrieve(url, "C:\Tempp\{}.ts".format(i))

    request = urllib.request.Request(secu_url, None, headers)

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    아래 코드 참고하세요.

    In [13]: for i in range(10): print(f'https://abcd.com/ABC/BC-{i:06d}.txt?key=QAWBCR-AAA=3')                                                                                                                                                                                     
    https://abcd.com/ABC/BC-000000.txt?key=QAWBCR-AAA=3
    https://abcd.com/ABC/BC-000001.txt?key=QAWBCR-AAA=3
    https://abcd.com/ABC/BC-000002.txt?key=QAWBCR-AAA=3
    https://abcd.com/ABC/BC-000003.txt?key=QAWBCR-AAA=3
    https://abcd.com/ABC/BC-000004.txt?key=QAWBCR-AAA=3
    https://abcd.com/ABC/BC-000005.txt?key=QAWBCR-AAA=3
    https://abcd.com/ABC/BC-000006.txt?key=QAWBCR-AAA=3
    https://abcd.com/ABC/BC-000007.txt?key=QAWBCR-AAA=3
    https://abcd.com/ABC/BC-000008.txt?key=QAWBCR-AAA=3
    https://abcd.com/ABC/BC-000009.txt?key=QAWBCR-AAA=3
    
    
    • 그래두 에러가 나네요 ㅠ 헤더를 넣어봐도 안되구..(질문글 수정) 정용환 2020.1.31 17:53
    • 재현해볼 수 있는 주소를 올려주세요. forbidden 을 받는 이유를 찾아야 합니다. 정영훈 2020.2.1 04:55
    • 해결했습니다. 감사합니다! 정용환 2020.2.2 02:37

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)