[unsplash] add 'collection' extractor (#1197)
This commit is contained in:
@@ -59,7 +59,7 @@ class UnsplashExtractor(Extractor):
|
|||||||
class UnsplashImageExtractor(UnsplashExtractor):
|
class UnsplashImageExtractor(UnsplashExtractor):
|
||||||
"""Extractor for a single unsplash photo"""
|
"""Extractor for a single unsplash photo"""
|
||||||
subcategory = "image"
|
subcategory = "image"
|
||||||
pattern = BASE_PATTERN + r"/photos/(\w+)"
|
pattern = BASE_PATTERN + r"/photos/([^/?#]+)"
|
||||||
test = ("https://unsplash.com/photos/lsoogGC_5dg", {
|
test = ("https://unsplash.com/photos/lsoogGC_5dg", {
|
||||||
"url": "00accb0a64d5a0df0db911f8b425892718dce524",
|
"url": "00accb0a64d5a0df0db911f8b425892718dce524",
|
||||||
"keyword": {
|
"keyword": {
|
||||||
@@ -160,6 +160,23 @@ class UnsplashFavoriteExtractor(UnsplashExtractor):
|
|||||||
return self._pagination(url, params)
|
return self._pagination(url, params)
|
||||||
|
|
||||||
|
|
||||||
|
class UnsplashCollectionExtractor(UnsplashExtractor):
|
||||||
|
"""Extractor for an unsplash collection"""
|
||||||
|
subcategory = "collection"
|
||||||
|
pattern = BASE_PATTERN + r"/collections/(\d+)"
|
||||||
|
test = ("https://unsplash.com/collections/3178572/winter", {
|
||||||
|
"pattern": r"https://images\.unsplash\.com/(photo-\d+-\w+"
|
||||||
|
r"|reserve/[^/?#]+)\?ixid=\w+&ixlib=rb-1\.2\.1$",
|
||||||
|
"range": "1-30",
|
||||||
|
"count": 30,
|
||||||
|
})
|
||||||
|
|
||||||
|
def photos(self):
|
||||||
|
url = "{}/napi/collections/{}/photos".format(self.root, self.item)
|
||||||
|
params = {"order_by": "latest"}
|
||||||
|
return self._pagination(url, params)
|
||||||
|
|
||||||
|
|
||||||
class UnsplashSearchExtractor(UnsplashExtractor):
|
class UnsplashSearchExtractor(UnsplashExtractor):
|
||||||
"""Extractor for unsplash search results"""
|
"""Extractor for unsplash search results"""
|
||||||
subcategory = "search"
|
subcategory = "search"
|
||||||
|
|||||||
Reference in New Issue
Block a user