亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于Python @classmethod的問題

關于Python @classmethod的問題

趙日天l 2017-10-02 14:08:33
class?RandomUserAgentMiddleware(object): ????def?__init__(self,?crawler): ????????super(RandomUserAgentMiddleware,?self).__init__() ????????self.ua?=?UserAgent() ????????self.per_proxy?=?crawler.settings.get('RANDOM_UA_PER_PROXY',?False) ????????self.ua_type?=?crawler.settings.get('RANDOM_UA_TYPE',?'random') ????????self.proxy2ua?=?{} ????@classmethod ????def?from_crawler(cls,?crawler): ????????return?cls(crawler) ????def?process_request(self,?request,?spider): ????????def?get_ua(): ????????????'''Gets?random?UA?based?on?the?type?setting?(random,?firefox…)''' ????????????return?getattr(self.ua,?self.ua_type) ????????if?self.per_proxy: ????????????proxy?=?request.meta.get('proxy') ????????????if?proxy?not?in?self.proxy2ua: ????????????????self.proxy2ua[proxy]?=?get_ua() ????????????????logger.debug('Assign?User-Agent?%s?to?Proxy?%s' ?????????????????????????????%?(self.proxy2ua[proxy],?proxy)) ????????????request.headers.setdefault('User-Agent',?self.proxy2ua[proxy]) ????????else: ????????????ua?=?get_ua() ????????????request.headers.setdefault('User-Agent',?get_ua())@classmethod ? ?def from_crawler(cls, crawler): ? ? ? ?return cls(crawler)我知道@classmethod是個類方法cls后面打點可以調用類屬性但這里cls后面加 ( ) 是個什么鬼啊?這里return出去的又是個什么東西啊?他要return給誰啊??@classmethod ? ?def from_crawler(cls, crawler): ? ? ? ?return cls(crawler)??他究竟想表達什么意思啊?
查看完整描述

1 回答

已采納
?
芒果DB0

TA貢獻1條經驗 獲得超0個贊

這是scrapy 里面獲取配置信息的用法,return cls返回的信息是給類的初始化方法__init__的參數

查看完整回答
反對 回復 2017-10-04
  • 1 回答
  • 0 關注
  • 1768 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號