我是个新手,为了学爬虫我看了好几个大佬的文章。学到了try……except。
我以为这是一个用来反馈错误的函数。但我在使用中发现time.sleep()也可以停止try里面的代码然后转到去运行except里面的代码。好像try下面的代码运行到time.sleep(时就会被认为是报错。然后调用except下面的代码。或者应该说,只要try里面的代码停止运行时就会停止后续代码,开始运行except里面的代码。不知道我这个理解对不对。
----------这是一个爬虫程序的一部分这两个加了星标的time.sleep(1)第一个会导致不停的提示[英雄名]文件夹已创建,但不会影响程序运行。第二个会导致程序在打印一个服务器状态码之后再打印程序运行时发生错误然后停止运行。
i = 0
#试着创建文件夹如果报错则提示
try:
try:
os.mkdir("F:\\王者测试")
except:
print('文件夹王者测试已存在')
#把变量J在heronumber里循环一遍
for j in heronumber:
try:
os.mkdir("F:\\王者测试\\"+ heroname[i])
一号星标* time.sleep(1)
except:
print('文件夹'+ str(heroname[i]) +'已存在')
os.chdir("F:\\王者测试\\"+ heroname[i])
i += 1
for k in range(10):#k循环十次来下载所有皮肤
onehero_link = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + str(j) + '/' + str(j) + '-bigskin-' + str(k) + '.jpg'
im = requests.get(onehero_link)
try:
if im.status_code == 200:
open(str(k)+'jpg','wb').write(im.content) print(str(im.status_code))
二号星标* time.sleep(1)
except:
print('服务器反馈代码'+ str(im.status_code))
except:
print('程序运行时发生错误')