[civitai] add 'videos' extractor (#6644)

This commit is contained in:
Mike Fährmann
2025-08-16 11:08:37 +02:00
parent c2b11dd475
commit e599e3f0d6
4 changed files with 23 additions and 1 deletions

View File

@@ -184,7 +184,7 @@ Consider all listed sites to potentially be NSFW.
<tr id="civitai" title="civitai">
<td>Civitai</td>
<td>https://www.civitai.com/</td>
<td>Collections, Generated Files, individual Images, Image Listings, Models, Model Listings, Posts, Post Listings, Image Searches, Model Searches, Tag Searches, User Profiles, User Collections, User Images, Image Reactions, User Models, User Posts, User Videos, Video Reactions</td>
<td>Collections, Generated Files, individual Images, Image Listings, Models, Model Listings, Posts, Post Listings, Image Searches, Model Searches, Tag Searches, User Profiles, User Collections, User Images, Image Reactions, User Models, User Posts, User Videos, Video Reactions, Video Listings</td>
<td></td>
</tr>
<tr id="comicvine" title="comicvine">

View File

@@ -463,6 +463,17 @@ class CivitaiImagesExtractor(CivitaiExtractor):
return self.api.images(params)
class CivitaiVideosExtractor(CivitaiExtractor):
subcategory = "videos"
pattern = BASE_PATTERN + r"/videos(?:/?\?([^#]+))?(?:$|#)"
example = "https://civitai.com/videos"
def images(self):
params = self._parse_query(self.groups[0])
params["types"] = ("video",)
return self.api.images(params)
class CivitaiPostsExtractor(CivitaiExtractor):
subcategory = "posts"
pattern = BASE_PATTERN + r"/posts(?:/?\?([^#]+))?(?:$|#)"

View File

@@ -245,6 +245,7 @@ SUBCATEGORY_MAP = {
"civitai": {
"models": "Model Listings",
"images": "Image Listings",
"videos": "Video Listings",
"posts" : "Post Listings",
"search-models": "Model Searches",
"search-images": "Image Searches",

View File

@@ -388,6 +388,16 @@ __tests__ = (
"#class": civitai.CivitaiImagesExtractor,
},
{
"#url" : "https://civitai.com/videos",
"#class" : civitai.CivitaiVideosExtractor,
},
{
"#url" : "https://civitai.com/videos?tags=5169",
"#class" : civitai.CivitaiVideosExtractor,
},
{
"#url" : "https://civitai.com/models",
"#class": civitai.CivitaiModelsExtractor,