[civitai] add 'user-videos' extractor (#6644)
This commit is contained in:
@@ -1677,9 +1677,11 @@ Description
|
|||||||
when processing a user profile.
|
when processing a user profile.
|
||||||
|
|
||||||
Possible values are
|
Possible values are
|
||||||
``"user-models"``,
|
|
||||||
``"user-posts"``,
|
* ``"user-models"``
|
||||||
``"user-images"``.
|
* ``"user-posts"``
|
||||||
|
* ``"user-images"``
|
||||||
|
* ``"user-videos"``
|
||||||
|
|
||||||
It is possible to use ``"all"`` instead of listing all values separately.
|
It is possible to use ``"all"`` instead of listing all values separately.
|
||||||
|
|
||||||
@@ -1698,7 +1700,7 @@ Example
|
|||||||
Description
|
Description
|
||||||
Extract additional ``generation`` metadata.
|
Extract additional ``generation`` metadata.
|
||||||
|
|
||||||
Note: This requires 1 additional HTTP request per image.
|
Note: This requires 1 additional HTTP request per image or video.
|
||||||
|
|
||||||
|
|
||||||
extractor.civitai.nsfw
|
extractor.civitai.nsfw
|
||||||
|
|||||||
@@ -172,7 +172,7 @@ Consider all listed sites to potentially be NSFW.
|
|||||||
<tr>
|
<tr>
|
||||||
<td>Civitai</td>
|
<td>Civitai</td>
|
||||||
<td>https://www.civitai.com/</td>
|
<td>https://www.civitai.com/</td>
|
||||||
<td>individual Images, Image Listings, Models, Model Listings, Posts, Search Results, Tag Searches, User Profiles, User Images, User Models, User Posts</td>
|
<td>individual Images, Image Listings, Models, Model Listings, Posts, Search Results, Tag Searches, User Profiles, User Images, User Models, User Posts, User Videos</td>
|
||||||
<td></td>
|
<td></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -338,6 +338,7 @@ class CivitaiUserExtractor(CivitaiExtractor):
|
|||||||
(CivitaiUserModelsExtractor, base + "models"),
|
(CivitaiUserModelsExtractor, base + "models"),
|
||||||
(CivitaiUserPostsExtractor , base + "posts"),
|
(CivitaiUserPostsExtractor , base + "posts"),
|
||||||
(CivitaiUserImagesExtractor, base + "images"),
|
(CivitaiUserImagesExtractor, base + "images"),
|
||||||
|
(CivitaiUserVideosExtractor, base + "videos"),
|
||||||
), ("user-models", "user-posts"))
|
), ("user-models", "user-posts"))
|
||||||
|
|
||||||
|
|
||||||
@@ -400,6 +401,20 @@ class CivitaiUserImagesExtractor(CivitaiExtractor):
|
|||||||
return self.api.images(params)
|
return self.api.images(params)
|
||||||
|
|
||||||
|
|
||||||
|
class CivitaiUserVideosExtractor(CivitaiExtractor):
|
||||||
|
subcategory = "user-videos"
|
||||||
|
directory_fmt = ("{category}", "{username|user[username]}", "videos")
|
||||||
|
pattern = USER_PATTERN + r"/videos/?(?:\?([^#]+))?"
|
||||||
|
example = "https://civitai.com/user/USER/videos"
|
||||||
|
|
||||||
|
def images(self):
|
||||||
|
self._image_ext = "mp4"
|
||||||
|
params = text.parse_query(self.groups[1])
|
||||||
|
params["types"] = ["video"]
|
||||||
|
params["username"] = text.unquote(self.groups[0])
|
||||||
|
return self.api.images(params)
|
||||||
|
|
||||||
|
|
||||||
class CivitaiRestAPI():
|
class CivitaiRestAPI():
|
||||||
"""Interface for the Civitai Public REST API
|
"""Interface for the Civitai Public REST API
|
||||||
|
|
||||||
@@ -484,7 +499,7 @@ class CivitaiTrpcAPI():
|
|||||||
self.root = extractor.root + "/api/trpc/"
|
self.root = extractor.root + "/api/trpc/"
|
||||||
self.headers = {
|
self.headers = {
|
||||||
"content-type" : "application/json",
|
"content-type" : "application/json",
|
||||||
"x-client-version": "5.0.211",
|
"x-client-version": "5.0.394",
|
||||||
"x-client-date" : "",
|
"x-client-date" : "",
|
||||||
"x-client" : "web",
|
"x-client" : "web",
|
||||||
"x-fingerprint" : "undefined",
|
"x-fingerprint" : "undefined",
|
||||||
|
|||||||
@@ -213,6 +213,7 @@ SUBCATEGORY_MAP = {
|
|||||||
"user-models": "User Models",
|
"user-models": "User Models",
|
||||||
"user-images": "User Images",
|
"user-images": "User Images",
|
||||||
"user-posts" : "User Posts",
|
"user-posts" : "User Posts",
|
||||||
|
"user-videos": "User Videos",
|
||||||
},
|
},
|
||||||
"coomerparty": {
|
"coomerparty": {
|
||||||
"discord" : "",
|
"discord" : "",
|
||||||
|
|||||||
@@ -241,4 +241,12 @@ __tests__ = (
|
|||||||
"#exception": exception.AuthorizationError,
|
"#exception": exception.AuthorizationError,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"#url" : "https://civitai.com/user/jboogx_creative/videos",
|
||||||
|
"#class": civitai.CivitaiUserVideosExtractor,
|
||||||
|
"#pattern": r"https://image\.civitai\.com/xG1nkqKTMzGDvpLrqFT7WA/[0-9a-f-]+/original=true/\S+\.mp4",
|
||||||
|
"#range" : "1-50",
|
||||||
|
"#count" : 50,
|
||||||
|
},
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user