[vsco] fix extraction
This commit is contained in:
@@ -72,7 +72,7 @@ class VscoExtractor(Extractor):
|
|||||||
page = self.request(url, notfound=self.subcategory).text
|
page = self.request(url, notfound=self.subcategory).text
|
||||||
return json.loads(text.extract(page, "__PRELOADED_STATE__ = ", "<")[0])
|
return json.loads(text.extract(page, "__PRELOADED_STATE__ = ", "<")[0])
|
||||||
|
|
||||||
def _pagination(self, url, params, token, key, extra):
|
def _pagination(self, url, params, token, key, extra=None):
|
||||||
headers = {
|
headers = {
|
||||||
"Referer" : "{}/{}".format(self.root, self.user),
|
"Referer" : "{}/{}".format(self.root, self.user),
|
||||||
"Authorization" : "Bearer " + token,
|
"Authorization" : "Bearer " + token,
|
||||||
@@ -80,7 +80,8 @@ class VscoExtractor(Extractor):
|
|||||||
"X-Client-Build" : "1",
|
"X-Client-Build" : "1",
|
||||||
}
|
}
|
||||||
|
|
||||||
yield from map(self._transform_media, extra)
|
if extra:
|
||||||
|
yield from map(self._transform_media, extra)
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
data = self.request(url, params=params, headers=headers).json()
|
data = self.request(url, params=params, headers=headers).json()
|
||||||
@@ -130,23 +131,17 @@ class VscoUserExtractor(VscoExtractor):
|
|||||||
def images(self):
|
def images(self):
|
||||||
url = "{}/{}/gallery".format(self.root, self.user)
|
url = "{}/{}/gallery".format(self.root, self.user)
|
||||||
data = self._extract_preload_state(url)
|
data = self._extract_preload_state(url)
|
||||||
|
|
||||||
tkn = data["users"]["currentUser"]["tkn"]
|
tkn = data["users"]["currentUser"]["tkn"]
|
||||||
sid = str(data["sites"]["siteByUsername"][self.user]["site"]["id"])
|
sid = str(data["sites"]["siteByUsername"][self.user]["site"]["id"])
|
||||||
site = data["medias"]["bySiteId"][sid]
|
|
||||||
|
|
||||||
url = "{}/api/3.0/medias/profile".format(self.root)
|
url = "{}/api/3.0/medias/profile".format(self.root)
|
||||||
params = {
|
params = {
|
||||||
"site_id" : sid,
|
"site_id" : sid,
|
||||||
"limit" : "14",
|
"limit" : "14",
|
||||||
"show_only": "0",
|
"cursor" : None,
|
||||||
"cursor" : site["nextCursor"],
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return self._pagination(url, params, tkn, "media", (
|
return self._pagination(url, params, tkn, "media")
|
||||||
data["medias"]["byId"][media[media["type"]]]["media"]
|
|
||||||
for media in site["medias"]
|
|
||||||
))
|
|
||||||
|
|
||||||
|
|
||||||
class VscoCollectionExtractor(VscoExtractor):
|
class VscoCollectionExtractor(VscoExtractor):
|
||||||
|
|||||||
Reference in New Issue
Block a user