[postimg] fix extraction (#8505)
This commit is contained in:
@@ -320,8 +320,8 @@ class PostimgImageExtractor(ImagehostImageExtractor):
|
|||||||
def get_info(self, page):
|
def get_info(self, page):
|
||||||
pos = page.index(' id="download"')
|
pos = page.index(' id="download"')
|
||||||
url , pos = text.rextract(page, ' href="', '"', pos)
|
url , pos = text.rextract(page, ' href="', '"', pos)
|
||||||
filename, pos = text.extract(page, 'class="imagename">', '<', pos)
|
filename, pos = text.extract(page, ' class="my-4">', '<', pos)
|
||||||
return url, text.unescape(filename)
|
return url, text.unescape(filename) if filename else None
|
||||||
|
|
||||||
|
|
||||||
class PostimgGalleryExtractor(ImagehostImageExtractor):
|
class PostimgGalleryExtractor(ImagehostImageExtractor):
|
||||||
@@ -335,8 +335,16 @@ class PostimgGalleryExtractor(ImagehostImageExtractor):
|
|||||||
|
|
||||||
def items(self):
|
def items(self):
|
||||||
page = self.request(self.page_url).text
|
page = self.request(self.page_url).text
|
||||||
data = {"_extractor": PostimgImageExtractor}
|
title = text.extr(
|
||||||
for url in text.extract_iter(page, ' class="thumb"><a href="', '"'):
|
page, 'property="og:title" content="', ' — Postimages"')
|
||||||
|
|
||||||
|
data = {
|
||||||
|
"_extractor" : PostimgImageExtractor,
|
||||||
|
"gallery_title": text.unescape(title),
|
||||||
|
}
|
||||||
|
|
||||||
|
for token in text.extract_iter(page, 'data-image="', '"'):
|
||||||
|
url = f"{self.root}/{token}"
|
||||||
yield Message.Queue, url, data
|
yield Message.Queue, url, data
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -39,12 +39,26 @@ __tests__ = (
|
|||||||
"token" : "Wtn2b3hC",
|
"token" : "Wtn2b3hC",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"#url" : "http://postimg.org/image/5l1cogxcr/",
|
||||||
|
"#comment" : "no 'imagename' (#8505)",
|
||||||
|
"#category": ("imagehost", "postimg", "image"),
|
||||||
|
"#class" : imagehosts.PostimgImageExtractor,
|
||||||
|
"#results" : "https://i.postimg.cc/08bm81zX/fashion-show-dream-angels-fantasy-bra-2014-adria.jpg?dl=1",
|
||||||
|
|
||||||
|
"extension": "jpg",
|
||||||
|
"filename" : "fashion-show-dream-angels-fantasy-bra-2014-adria",
|
||||||
|
"token" : "5l1cogxcr",
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"#url" : "https://postimg.cc/gallery/wxpDLgX",
|
"#url" : "https://postimg.cc/gallery/wxpDLgX",
|
||||||
"#category": ("imagehost", "postimg", "gallery"),
|
"#category": ("imagehost", "postimg", "gallery"),
|
||||||
"#class" : imagehosts.PostimgGalleryExtractor,
|
"#class" : imagehosts.PostimgGalleryExtractor,
|
||||||
"#pattern" : imagehosts.PostimgImageExtractor.pattern,
|
"#pattern" : imagehosts.PostimgImageExtractor.pattern,
|
||||||
"#count" : 22,
|
"#count" : 22,
|
||||||
|
|
||||||
|
"gallery_title": "My Gallery",
|
||||||
},
|
},
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user