采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
class RandomUserAgentMiddleware(object): def __init__(self, crawler): super(RandomUserAgentMiddleware, self).__init__()
super(RandomUserAgentMiddleware, self).__init__()这里调用父类__init__方法的意义目的是什么?不理解。
看了一下bobby老师回复的其他同学相关问题了,原来这里的RandomUserAgentMiddleware,继承的是UserAgentMiddleware,这样就理解了,
现在不是很明白的是,为什么RandomUserAgentMiddleware(object)这样继承object,Scrapy会知道实际上继承的是UserAgentMiddleware?
要是这样的话我自己随便写几个其他类型的业务命名为xxxUserAgentMiddleware(object)这种的类,岂不是都默认继承了UserAgentMiddleware?
python本身java不同,不需要去继承某个类才行,python是鸭子类型, 重点是自己定义的类有没有对应的方法才是最重要的, python中继承某个类目的只是为了减少代码量而不是确定类型的
这样啊,明白了,谢谢老师
登录后可查看更多问答,登录/注册
带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎
5.3k 30
2.9k 18
1.5k 18
1.8k 15
3.4k 15
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号