报错的问题
老师,我一开始写的value = value_search.findall(response.url)[0],报错,然后下载了资料里的代码改的
try:
value = value_search.findall(response.url)[0]
except:
print('11111111111', response.url)
打印出来的url我看了也挺正常的呀,怎么会报错呢


正在回答
同学,你好。该问题是下标越界的错误,根据下标0取值时取不到,因此会报错。同学可以只打印出根据下标取值前得到的数据,看下取到的数据是否正常,而且最后一页内容是没有下一页的。
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
老师,我知道这个报错是什么意思,但是我不知道咋改。
您说的最后一页是没有下一页的,是呀,咱们在最开始的if语句中不是已经判断了吗?
图中标的1那,如果只写value = value_search.findall(response.url)[0]会报那个下标越界的错误
图中标的2那,如果按2那么写,如果报错了那么下面response.request.meta['task_url'] = 'https://www.guazi.com/%s/%s/o%si7' % (value[0], value[1], str(int(value[2]+1)))这里就取不到value值了

- 参与学习 人
- 提交作业 107 份
- 解答问题 1672 个
Python最广为人知的应用就是爬虫了,有趣且酷的爬虫技能并没有那么遥远,本阶段带你学会利用主流Scrapy框架完成爬取招聘网站和二手车网站的项目实战。
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星