部屋番号を取得する前に、前回の記事で残されたバグ、つまり入力された部屋番号が数字ではなく、対応する部屋番号が存在しないことによって引き起こされる問題を解決します。
入力された部屋番号は数値ではありません:
Python では、入力するものは文字列でなければなりません。数値を入力しても、型は str のままです。
roomId = input('请输入房间号:')
前回の記事のコードを使ってテストしてみましょう
Pythonでは同じ型しか「+」で繋がらないので、前回の記事のコードも変更可能ですCheng
roomUrl = 'http://live.bilibili.com/'+ roomId
知識の拡充は完了しました。次は問題を解決しましょう。強力な Python には文字列処理メソッドがあり、入力された文字が数字であるかどうかを判断するだけで済みます。 isdigital() 関数を呼び出すと、要件を完了できます。他にも文字列処理方法はありますので、整理してブログに載せていきます。
isdigital() 意味: 文字列に数字のみが含まれている場合は True を返し、それ以外の場合は False を返します。
判定が完了するとプログラムは終了します。これは私たちが望んでいることではありません。数値でない場合は、戻って再入力する必要があります。次のステップに進みます。
アイデア:
1. 部屋番号を入力します。
2. 入力が数値かどうかを判断します。
3. 数値の場合は次のステップに進み、数値でない場合は再入力します。
4.入力が完了したら、再度判定し、サイクルします。
コード:
roomId = input('请输入房间号:')while not roomId.isdigit(): print("数字格式错误,请重新输入!") roomId = input('请输入房间号:') roomUrl = 'http://live.bilibili.com/'+ str(roomId)
レンダリング:
レンダリングを見ると、空であっても部屋番号を再入力する必要があり、数字と文字の形式も再入力する必要があります。ニーズを満たしている場合は、次のバグの解決を続けます。
入力されたルームが存在しません (つまり、URL が存在しません):
これはプログラムのエラーの原因を見つけるだけで済みます。
最後の文、urllib.error.HTTPError: HTTP Error 404: Not Found
Webpage 404、Web ページが見つかりませんに注目してください。これは、入力した Web アドレスが存在しないことを意味します。このエラーを解決するには、try-excel を使用してください。
アイデア:
1. Web サイトにアクセスするとき、そこにあるかどうかわかりません
2. このアドレスにアクセスしてみてください
3. 間違った場合は、Web サイトのアドレスを再入力する必要があります。
4. Webサイトアドレスを再入力するには、部屋番号を入力することから始める必要があります
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のエラー解決方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。