1
0
mirror of https://github.com/mikf/gallery-dl.git synced 2024-11-25 04:02:32 +01:00

[3dbooru] update to new format

This commit is contained in:
Mike Fährmann 2015-11-21 01:48:44 +01:00
parent 70a6599904
commit 1bce63124b
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88
2 changed files with 23 additions and 20 deletions

View File

@ -8,24 +8,25 @@
"""Extract image-urls from http://behoimi.org/"""
from .booru import JSONBooruExtractor
from . import booru
info = {
"category": "3dbooru",
"extractor": "ThreeDeeBooruExtractor",
"directory": ["{category}", "{tags}"],
"filename": "{category}_{id}_{md5}.{extension}",
"pattern": [
r"(?:https?://)?(?:www\.)?behoimi\.org/post(?:/(?:index)?)?\?tags=([^&]+).*",
],
}
class ThreeDeeBooruExtractor(booru.JSONBooruExtractor):
"""Base class for 3dbooru extractors"""
category = "3dbooru"
api_url = "http://behoimi.org/post/index.json"
headers = {
"Referer": "http://behoimi.org/post/show/",
"User-Agent": "Mozilla/5.0",
}
class ThreeDeeBooruExtractor(JSONBooruExtractor):
class ThreeDeeBooruTagExtractor(ThreeDeeBooruExtractor, booru.BooruTagExtractor):
"""Extract images from 3dbooru based on search-tags"""
pattern = [r"(?:https?://)?(?:www\.)?behoimi\.org/post(?:/(?:index)?)?\?tags=([^&]+)"]
def __init__(self, match):
JSONBooruExtractor.__init__(self, match, info)
self.api_url = "http://behoimi.org/post/index.json"
self.headers = {
"Referer": "http://behoimi.org/post/show/",
"User-Agent": "Mozilla/5.0"
}
class ThreeDeeBooruPoolExtractor(ThreeDeeBooruExtractor, booru.BooruPoolExtractor):
"""Extract image-pools from 3dbooru"""
pattern = [r"(?:https?://)?(?:www\.)?behoimi\.org/pool/show/(\d+)"]
class ThreeDeeBooruPostExtractor(ThreeDeeBooruExtractor, booru.BooruPostExtractor):
"""Extract single images from 3dbooru"""
pattern = [r"(?:https?://)?(?:www\.)?behoimi\.org/post/show/(\d+)"]

View File

@ -17,13 +17,15 @@ import urllib.parse
class BooruExtractor(Extractor):
info = {}
params = {"limit": 50}
headers = {}
page = "page"
api_url = ""
category = ""
def __init__(self):
Extractor.__init__(self)
self.page = "page"
self.params = {"limit": 50}
self.headers = {}
def items(self):
yield Message.Version, 1