详解python

在获取房间号之前我们先解决上篇文章遗留的bug,即输入的房间号不是数字和对应的房间号不存在而产生的问题。

输入的房间号不是数字:

在python中,你所输入的必定是字符串,虽然你输入的是数字,但是类型还是str。

roomid = input(‘请输入房间号:’)

运用上一篇文章的代码,我们来测试一下

roomid = input(‘请输入房间号:’)while not roomid.isdigit():
print(“数字格式错误,请重新输入!”)
roomid = input(‘请输入房间号:’)
roomurl = ‘http://live.bilibili.com/’+ str(roomid)

效果图:

重点看最后一句,urllib.error.httperror: http error 404: not found

网页404,没有找到网页。说明你输入的网页地址不存在。使用try-except来解决这个错误。

思路:

1、访问一个网址是并不知道它在不在

2、试着访问这个地址

3、出错则需要重新输入网址

4、重新输入网址需要从输入房间号开始

5、大循环是一开始到网址出错,小循环就是判断房间号

6、输入的网址存在,那么就需要跳出这个大循环了

代码:

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社区 其它相关文章!

Posted in 未分类