diff options
Diffstat (limited to 'gallery_dl/extractor/xasiat.py')
| -rw-r--r-- | gallery_dl/extractor/xasiat.py | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/gallery_dl/extractor/xasiat.py b/gallery_dl/extractor/xasiat.py index 6aa3168..d4dbea1 100644 --- a/gallery_dl/extractor/xasiat.py +++ b/gallery_dl/extractor/xasiat.py @@ -7,7 +7,7 @@ """Extractors for https://www.xasiat.com""" from .common import Extractor, Message -from .. import text, util +from .. import text import time BASE_PATTERN = r"(?:https?://)?(?:www\.)?xasiat\.com((?:/fr|/ja)?/albums" @@ -29,7 +29,7 @@ class XasiatExtractor(Extractor): def _pagination(self, path, pnum=1): url = f"{self.root}{path}/" - find_posts = util.re(r'class="item ">\s*<a href="([^"]+)').findall + find_posts = text.re(r'class="item ">\s*<a href="([^"]+)').findall while True: params = { @@ -38,7 +38,7 @@ class XasiatExtractor(Extractor): "block_id": "list_albums_common_albums_list", "sort_by": "post_date", "from": pnum, - "_": int(time.time() * 1000) + "_": int(time.time() * 1000), } page = self.request(url, params=params).text @@ -52,7 +52,7 @@ class XasiatExtractor(Extractor): class XasiatAlbumExtractor(XasiatExtractor): subcategory = "album" - pattern = BASE_PATTERN + r"/(\d+)/[^/?#]+)" + pattern = rf"{BASE_PATTERN}/(\d+)/[^/?#]+)" example = "https://www.xasiat.com/albums/12345/TITLE/" def items(self): @@ -66,38 +66,37 @@ class XasiatAlbumExtractor(XasiatExtractor): images = extr('class="images"', "</div>") urls = list(text.extract_iter(images, 'href="', '"')) - + categories = text.re(r'categories/[^"]+\">\s*(.+)\s*</a').findall(info) data = { "title": text.unescape(title), - "model": util.re( + "model": text.re( r'top_models1"></i>\s*(.+)\s*</span').findall(info), - "tags": util.re( + "tags": text.re( r'tags/[^"]+\">\s*(.+)\s*</a').findall(info), - "album_category": util.re( - r'categories/[^"]+\">\s*(.+)\s*</a').findall(info)[0], + "album_category": categories[0] if categories else "", "album_url": response.url, "album_id": text.parse_int(album_id), "count": len(urls), } - yield Message.Directory, data + yield Message.Directory, "", data for data["num"], url in enumerate(urls, 1): yield Message.Url, url, text.nameext_from_url(url[:-1], data) class XasiatTagExtractor(XasiatExtractor): subcategory = "tag" - pattern = BASE_PATTERN + r"/tags/[^/?#]+)" + pattern = rf"{BASE_PATTERN}/tags/[^/?#]+)" example = "https://www.xasiat.com/albums/tags/TAG/" class XasiatCategoryExtractor(XasiatExtractor): subcategory = "category" - pattern = BASE_PATTERN + r"/categories/[^/?#]+)" + pattern = rf"{BASE_PATTERN}/categories/[^/?#]+)" example = "https://www.xasiat.com/albums/categories/CATEGORY/" class XasiatModelExtractor(XasiatExtractor): subcategory = "model" - pattern = BASE_PATTERN + r"/models/[^/?#]+)" + pattern = rf"{BASE_PATTERN}/models/[^/?#]+)" example = "https://www.xasiat.com/albums/models/MODEL/" |
