decouple extractor initialization
Introduce an 'initialize()' function that does the actual init (session, cookies, config options) and can called separately from the constructor __init__(). This allows, for example, to adjust config access inside a Job before most of it already happened when calling 'extractor.find()'.
This commit is contained in:
@@ -28,6 +28,8 @@ class WeiboExtractor(Extractor):
|
||||
def __init__(self, match):
|
||||
Extractor.__init__(self, match)
|
||||
self._prefix, self.user = match.groups()
|
||||
|
||||
def _init(self):
|
||||
self.retweets = self.config("retweets", True)
|
||||
self.videos = self.config("videos", True)
|
||||
self.livephoto = self.config("livephoto", True)
|
||||
@@ -228,6 +230,9 @@ class WeiboUserExtractor(WeiboExtractor):
|
||||
("https://www.weibo.com/p/1003062314621010/home"),
|
||||
)
|
||||
|
||||
def initialize(self):
|
||||
pass
|
||||
|
||||
def items(self):
|
||||
base = "{}/u/{}?tabtype=".format(self.root, self._user_id())
|
||||
return self._dispatch_extractors((
|
||||
|
||||
Reference in New Issue
Block a user