[luscious] jump to first image if cover does not link to it

pull/79/head
Mike Fährmann 7 years ago
parent 915807dd77
commit a34cebc253
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -35,13 +35,14 @@ class LusciousAlbumExtractor(AsynchronousExtractor):
("https://www.luscious.net/albums/okinami_277031/", None), ("https://www.luscious.net/albums/okinami_277031/", None),
("https://members.luscious.net/albums/okinami_277031/", None), ("https://members.luscious.net/albums/okinami_277031/", None),
] ]
root = "https://luscious.net"
def __init__(self, match): def __init__(self, match):
AsynchronousExtractor.__init__(self) AsynchronousExtractor.__init__(self)
self.gpart, self.gid = match.groups() self.gpart, self.gid = match.groups()
def items(self): def items(self):
url = "https://luscious.net/albums/" + self.gpart + "/" url = "{}/albums/{}/".format(self.root, self.gpart)
page = self.request(url).text page = self.request(url).text
data = self.get_metadata(page) data = self.get_metadata(page)
yield Message.Version, 1 yield Message.Version, 1
@ -68,15 +69,22 @@ class LusciousAlbumExtractor(AsynchronousExtractor):
data["artist"] = None data["artist"] = None
return data return data
def get_images(self, page): def get_images(self, page, extr=text.extract):
"""Collect image-urls and -metadata""" """Collect image-urls and -metadata"""
extr = text.extract
num = 1 num = 1
pos = page.find('<div class="album_cover_item">') pos = page.find('<div class="album_cover_item">')
url = extr(page, '<a href="', '"', pos)[0] url = extr(page, '<a href="', '"', pos)[0]
self._check_high_load(page, url) self._check_high_load(page, url)
while url and not url.endswith("/more_like_this/"): while url and not url.endswith("/more_like_this/"):
page = self.request("https://luscious.net" + url).text page = self.request(self.root + url).text
if num == 1:
current = extr(page, '"pj_current_page" value="', '"')[0]
if current and current != "1":
url = "{}/albums/{}/jump_to_page/1/".format(
self.root, self.gid)
page = self.request(url, method="POST").text
imgid, pos = extr(url , '/id/', '/') imgid, pos = extr(url , '/id/', '/')
url , pos = extr(page, '<link rel="next" href="', '"') url , pos = extr(page, '<link rel="next" href="', '"')
self._check_high_load(page, url) self._check_high_load(page, url)

Loading…
Cancel
Save