循环出错
作为初学者,模仿教程写出了这段下载漫画的代码,在网站所有页面能正常加载图片的时候正常运行,一旦某一章节的图片失效,就会中断运行有大神可以帮忙解决跳过出错继续下一循环吗?
import requests
import parsel
import os
import re
resp = requests.get('https://www.xhhm.com/plus/list-20.html').text
selecrot= parsel.Selector(resp)
url_list = selecrot.css('.detail-list-select li a::attr(href)').getall()
title_list = selecrot.css('.detail-list-select li a::text').getall()
for title,url in zip(title_list,url_list):
print(f'------------正在下载{title}--------------')
title = re.sub(r'[\/:*?"<>|.]',"",title)
if not os.path.exists('./001/'+title):
os.mkdir('./001/'+title)
response = requests.get(f'https://www.xhhm.com{url}')
html_date = response.text
selector_1 = parsel.Selector(html_date)
img_list = selector_1.css('.player img::attr(src)').getall()
index = 1
for img in img_list:
img_date = requests.get(img).content
with open(f'./001/{title}/{str(index)} .jpg', mode='wb') as f:
f.write(img_date)
print(f'第{str(index)}页,下载成功!!!')
index += 1
print(title, '下载成功') try except 青出于蓝 发表于 2022-12-19 09:26
try except
我找到了可以用这个语句处理,作为一个代码小白,不如何加入到这段代码里,能再具体点吗?谢谢 crins 发表于 2022-12-19 09:53
我找到了可以用这个语句处理,作为一个代码小白,不如何加入到这段代码里,能再具体点吗?谢谢
哪一条语句出错就放在哪.{:10_277:} crins 发表于 2022-12-19 09:53
我找到了可以用这个语句处理,作为一个代码小白,不如何加入到这段代码里,能再具体点吗?谢谢
抱歉哈,目前电脑不在手边{:10_245:} 看不懂代码,但是凭感觉加了几个try-except{:10_282:}import requests
import parsel
import os
import re
resp = requests.get('https://www.xhhm.com/plus/list-20.html').text
print('1')
selecrot= parsel.Selector(resp)
print('2')
url_list = selecrot.css('.detail-list-select li a::attr(href)').getall()
print('3')
title_list = selecrot.css('.detail-list-select li a::text').getall()
for title,url in zip(title_list,url_list):
try:
print(f'------------正在下载{title}--------------')
title = re.sub(r'[\/:*?"<>|.]',"",title)
if not os.path.exists('./001/'+title):
os.mkdir('./001/'+title)
response = requests.get(f'https://www.xhhm.com{url}')
html_date = response.text
selector_1 = parsel.Selector(html_date)
img_list = selector_1.css('.player img::attr(src)').getall()
index = 1
for img in img_list:
try:
img_date = requests.get(img).content
with open(f'./001/{title}/{str(index)} .jpg', mode='wb') as f:
f.write(img_date)
print(f'第{str(index)}页,下载成功!!!')
index += 1
except:
print(f'第{str(index)}页,下载失败')
print(title, '下载成功')
except:
print(title, '下载失败') 网站网址正确?无响应 青出于蓝 发表于 2022-12-19 10:58
网站网址正确?无响应
我猜是外网 tommyyu 发表于 2022-12-19 10:24
看不懂代码,但是凭感觉加了几个try-except
非常感谢tommyyu,同时也感谢青出于蓝提出建议。
因为本人小白,不懂怎么在语句里从错误点开始循环,所以重新跑了一次。
错误点在20多章,所以耗费的时间有点长,导致现在才回复。现在可以正常的跳过无法获取数据的问题。
网址是我故意漏写的,因为不可描述的原因{:5_92:}xhhm8
学习了,谢谢提供学习的机会
页:
[1]