[Python] for else문

하는·2023년 11월 28일
0

python

목록 보기
1/3

다른 프로그래밍 언어와 다르게 파이썬은 if뿐만이 아니라 for에도 else를 함께 사용할 수 있다.
for문을 다 돌고 난 다음 else문에 있는 코드가 실행된다.

사용 예시 코드:

lst = ['h','e','l','l','o']
for i in lst:
    print(i)
else:
    print('출력 끝')
    
# 출력결과
# h
# e
# l
# l
# o
# 출력 끝

다음으로는 for-else문 응용하여 api url를 호출해서 네이버 화요웹툰의 title 정보를 가져오는 코드다. 회사 업무에서 비슷한 코딩을 하다가 호출을 계속 실패하는 url가 있었다. 이 url에 대해서만 에러가 안 뜨면서 호출을 더 시도할 수 있는 방법을 찾다가 for else문을 발견하게 되었다.

코드:

import requests
from bs4 import BeautifulSoup

api_url = "https://m.search.naver.com/p/csearch/content/nqapirender.nhn?_callback=jQuery1124029673668409590115_1701161507812&key=webtoonDayOfWeek&where=nexearch&start=15&display=15&pkid=47&u1=TUESDAY&u2=FEMALE_READER"

def get_title_info(url):
    show_cp_dct = {}
    for _ in range(10):
        try:
            response = requests.get(url)
            if response.status_code != 200:
                raise ValueError("failed response status code: " + str(response.status_code))
            html = response.text
            soup = BeautifulSoup(html, 'html.parser')
            title_info = soup.get_text()
            break

        except ValueError as e:
            print(e)
            print('api url:', url)
            time.sleep(2)
    else:
        print("10번 시도에도 실패")
    return title_info

title_info = get_word(api_url)

전처리는 안했다..

profile
천천히 꾸준히 취미처럼 냐미😋

0개의 댓글