diff options
| author | 2022-07-16 00:39:25 -0400 | |
|---|---|---|
| committer | 2022-07-16 00:39:25 -0400 | |
| commit | ae2a0f5622beaa6f402526f8a7b939419283a090 (patch) | |
| tree | df1ee84f90167211ae4817606fe6e7380abb67b1 /gallery_dl/extractor/weibo.py | |
| parent | ce35450b5308adab049c5bd99095986d4c607027 (diff) | |
New upstream version 1.22.4.upstream/1.22.4
Diffstat (limited to 'gallery_dl/extractor/weibo.py')
| -rw-r--r-- | gallery_dl/extractor/weibo.py | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/gallery_dl/extractor/weibo.py b/gallery_dl/extractor/weibo.py index 68871c8..bdbdc8c 100644 --- a/gallery_dl/extractor/weibo.py +++ b/gallery_dl/extractor/weibo.py @@ -310,7 +310,8 @@ class WeiboAlbumExtractor(WeiboExtractor): subcategory = "album" pattern = USER_PATTERN + r"\?tabtype=album" test = ("https://weibo.com/1758989602?tabtype=album", { - "pattern": r"https://wx\d+\.sinaimg\.cn/large/\w{32}\.(jpg|png|gif)", + "pattern": r"https://(wx\d+\.sinaimg\.cn/large/\w{32}\.(jpg|png|gif)" + r"|g\.us\.sinaimg\.cn/../\w+\.mp4)", "range": "1-3", "count": 3, }) @@ -324,7 +325,11 @@ class WeiboAlbumExtractor(WeiboExtractor): mid = image["mid"] if mid not in seen: seen.add(mid) - yield self._status_by_id(mid) + status = self._status_by_id(mid) + if status.get("ok") != 1: + self.log.debug("Skipping status %s (%s)", mid, status) + else: + yield status class WeiboStatusExtractor(WeiboExtractor): @@ -341,7 +346,7 @@ class WeiboStatusExtractor(WeiboExtractor): }), # unavailable video (#427) ("https://m.weibo.cn/status/4268682979207023", { - "exception": exception.HttpError, + "exception": exception.NotFoundError, }), # non-numeric status ID (#664) ("https://weibo.com/3314883543/Iy7fj4qVg"), @@ -366,7 +371,11 @@ class WeiboStatusExtractor(WeiboExtractor): ) def statuses(self): - return (self._status_by_id(self.user),) + status = self._status_by_id(self.user) + if status.get("ok") != 1: + self.log.debug(status) + raise exception.NotFoundError("status") + return (status,) @cache(maxage=356*86400) |
