关于请求车的详情页时报错回调函数的问题

关于请求车的详情页时报错回调函数的问题

如果请求每辆车的详情页的时候报错了,调用handle_err()方法,这时候failure.request.meta的meta已经是包含车名和详情页url的字典了,而不是包含车名、品牌、来源url的字典了,就保存不到mongodb中了吧?

http://img1.sycdn.imooc.com//climg/5ed9aebe0805d5bf15190809.jpg

http://img1.sycdn.imooc.com//climg/5ed9aec408f70a5312760506.jpg


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕美 2020-06-05 13:45:01

同学,你好。会保存到mongodb中的,在get_task()中会将取到的数据删除,当请求失败后会获取到失败的task保存到数据库中,以便后续重新得到该task并请求数据

http://img1.sycdn.imooc.com//climg/5ed9dad3092831da06680362.jpg

http://img1.sycdn.imooc.com//climg/5ed9db330922064a07950190.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

  • 提问者 慕勒1399825 #1
    在请求详情页的时候报错,failure.request.meta的meta已经是包含车名和详情页url的字典了,和原mongodb中的字典已经不一样了啊
    2020-06-05 14:48:15
  • 好帮手慕美 回复 提问者 慕勒1399825 #2
    同学,你好。当在发送请求有错误时会执行errback,通过failure可以得到当前失败的request和response,从而将的请求中的task扔回到数据库中。可以得到车名和详情页url表明该请求没有错误,不会执行errback。祝学习愉快~~~~
    2020-06-05 15:45:33
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
4.入门主流框架Scrapy与爬虫项目实战
  • 参与学习           人
  • 提交作业       107    份
  • 解答问题       1672    个

Python最广为人知的应用就是爬虫了,有趣且酷的爬虫技能并没有那么遥远,本阶段带你学会利用主流Scrapy框架完成爬取招聘网站和二手车网站的项目实战。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师