> 백엔드 개발 > 파이썬 튜토리얼 > python-bilibili 오류 솔루션에 대한 자세한 설명

python-bilibili 오류 솔루션에 대한 자세한 설명

高洛峰
풀어 주다: 2017-03-27 15:46:32
원래의
3536명이 탐색했습니다.

방번호를 받기 전, 먼저 이전 글에서 남긴 버그, 즉 입력한 방번호가 숫자가 아니고 해당 방번호가 존재하지 않아 발생하는 문제를 먼저 해결해보겠습니다.

입력한 방 번호는 숫자가 아닙니다.

파이썬에서는 숫자를 입력하더라도 유형은 여전히 ​​문자열이어야 합니다.


roomId = input('请输入房间号:')
로그인 후 복사

이전 글의 코드를 활용해서 테스트해보자

详解python - bilibili出错的解决办法

파이썬에서는 똑같은 것만 있다 type은 "+"로 연결될 수 있으므로 이전 기사의 코드를


roomUrl = 'http://live.bilibili.com/'+ roomId
로그인 후 복사

로 변경할 수도 있습니다. 지식 확장이 완료되었으니 이제 문제를 해결해 보겠습니다. 강력한 Python에는 문자열 처리 방법이 있습니다. 이제 입력된 문자가 숫자인지 여부만 확인하면 됩니다. isdigit() 함수를 호출하면 요구 사항을 완료할 수 있습니다. 다른 문자열 처리 방법도 있어서 정리해서 블로그에 올릴 예정입니다.

isdigit() 의미: 문자열에 숫자만 포함되어 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다.

심판이 끝나면 프로그램이 종료됩니다. 우리가 원하는 것은 무한한 판단입니다. 번호가 있으므로 다음 단계로 진행해야 합니다.

아이디어:

1. 호실번호를 입력하세요.

2. 입력이 숫자인지 확인합니다.

3. 숫자인 경우 다음 단계로 진행하고, 숫자가 아닌 경우 다시 입력하세요.

4. 입력이 완료된 후 다시 판단한 후 순환합니다.

코드:


roomId = input('请输入房间号:')while not roomId.isdigit():     
print("数字格式错误,请重新输入!")
     roomId = input('请输入房间号:')
roomUrl = 'http://live.bilibili.com/'+ str(roomId)
로그인 후 복사

렌더링:

详解python - bilibili出错的解决办法

렌더링을 보면 방번호는 비어 있음 또한 다시 입력해야 하며, 숫자와 문자의 형태도 우리의 요구 사항에 맞게 다시 입력해야 합니다. 다음 버그를 계속 해결해 보겠습니다.

입력한 방이 존재하지 않습니다(즉, URL이 존재하지 않습니다):

프로그램 예외 처리를 위한 부분이므로 프로그램 오류의 원인만 알아내면 됩니다.

详解python - bilibili出错的解决办法

마지막 문장인 urllib.error.HTTPError: HTTP 오류 404: 찾을 수 없음

웹 페이지 404, 웹 페이지를 찾을 수 없습니다. 입력한 웹 주소가 존재하지 않는다는 의미입니다. 이 오류를 해결하려면 try-Exception을 사용하십시오.

아이디어:

1. 웹사이트 접속 시 존재 여부를 알 수 없음

2. 이 주소로 접속해 보세요

3. 잘못 입력한 경우 URL을 다시 입력해야 합니다

4. URL을 다시 입력하려면 방 번호를 입력해야 합니다

5. 크게 루프는 처음에 URL이 잘못된 경우이고 작은 루프는 방 번호를 확인하는 것입니다

6, 입력한 URL이 존재하면 이 큰 루프에서 뛰어내려야 합니다

코드:

while True:
     roomId = input('请输入房间号:')
     while not roomId.isdigit():
          print("数字格式错误,请重新输入!")
          roomId = input('请输入房间号:')
     roomUrl = 'http://live.bilibili.com/'+ str(roomId)

     try:
          webPage=urllib.request.urlopen(roomUrl)
          break
     except:
          print('出错啦!')
로그인 후 복사

단, 사용자 경험이 별로 좋지 않고 무엇이 잘못되었는지 알 수 없어 구체적인 이유를 가져옵니다


except urllib.error.HTTPError as reason:          
print('网址出错啦!'+ str(reason))
로그인 후 복사

렌더링:

详解python - bilibili出错的解决办法

위 내용은 python-bilibili 오류 솔루션에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿