[pixiv] fix ugoira parsing

This commit is contained in:
Mike Fährmann
2015-05-20 10:25:11 +02:00
parent 68c4306040
commit d9d88f1448

View File

@@ -52,7 +52,7 @@ class PixivExtractor(SequentialExtractor):
work.update(metadata) work.update(metadata)
if work["type"] == "ugoira": if work["type"] == "ugoira":
url, framelist = self.parse_ugoira(work["id"]) url, framelist = self.parse_ugoira(work)
work["extension"] = "zip" work["extension"] = "zip"
yield Message.Url, url, work.copy() yield Message.Url, url, work.copy()
work["extension"] = "txt" work["extension"] = "txt"
@@ -93,19 +93,22 @@ class PixivExtractor(SequentialExtractor):
return return
page = pinfo["next"] page = pinfo["next"]
def parse_ugoira(self, illust_id): def parse_ugoira(self, data):
"""Parse ugoira data""" """Parse ugoira data"""
# get illust page # get illust page
text = self.request( text = self.request(
self.illust_url, params={"illust_id": illust_id}, self.illust_url, params={"illust_id": data["id"]},
).text ).text
# parse page # parse page
url , pos = self.extract(text, 'ugokuIllustFullscreenData = {"src":"', '"') frames, _ = self.extract(text, ',"frames":[', ']')
frames, pos = self.extract(text, '"frames":[', ']', pos)
# fix url # build url
url = url.replace("\\/", "/") url = re.sub(
r"/img-original/(.+/\d+)[^/]+",
r"/img-zip-ugoira/\g<1>_ugoira1920x1080.zip",
data["url"]
)
# build framelist # build framelist
framelist = re.sub( framelist = re.sub(