[bilibili] warn about blocked articles (#7880)
This commit is contained in:
@@ -45,12 +45,16 @@ class BilibiliArticleExtractor(BilibiliExtractor):
|
|||||||
archive_fmt = "{id}_{num}"
|
archive_fmt = "{id}_{num}"
|
||||||
|
|
||||||
def items(self):
|
def items(self):
|
||||||
article = self.api.article(self.groups[0])
|
article_id = self.groups[0]
|
||||||
|
article = self.api.article(article_id)
|
||||||
|
|
||||||
# Flatten modules list
|
# Flatten modules list
|
||||||
modules = {}
|
modules = {}
|
||||||
for module in article["detail"]["modules"]:
|
for module in article["detail"]["modules"]:
|
||||||
del module['module_type']
|
if module["module_type"] == "MODULE_TYPE_BLOCKED":
|
||||||
|
self.log.warning("%s: Blocked Article\n%s", article_id,
|
||||||
|
module["module_blocked"].get("hint_message"))
|
||||||
|
del module["module_type"]
|
||||||
modules.update(module)
|
modules.update(module)
|
||||||
article["detail"]["modules"] = modules
|
article["detail"]["modules"] = modules
|
||||||
|
|
||||||
@@ -64,14 +68,15 @@ class BilibiliArticleExtractor(BilibiliExtractor):
|
|||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
for paragraph in modules['module_content']['paragraphs']:
|
if "module_content" in modules:
|
||||||
if "pic" not in paragraph:
|
for paragraph in modules["module_content"]["paragraphs"]:
|
||||||
continue
|
if "pic" not in paragraph:
|
||||||
|
continue
|
||||||
|
|
||||||
try:
|
try:
|
||||||
pics.extend(paragraph["pic"]["pics"])
|
pics.extend(paragraph["pic"]["pics"])
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
article["count"] = len(pics)
|
article["count"] = len(pics)
|
||||||
yield Message.Directory, article
|
yield Message.Directory, article
|
||||||
|
|||||||
@@ -53,6 +53,18 @@ __tests__ = (
|
|||||||
"username" : "诗月饼",
|
"username" : "诗月饼",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"#url" : "https://www.bilibili.com/opus/1047501858770255875",
|
||||||
|
"#comment" : "blocked/paid article (#7880)",
|
||||||
|
"#class" : bilibili.BilibiliArticleExtractor,
|
||||||
|
"#count" : 0,
|
||||||
|
"#log" : """\
|
||||||
|
1047501858770255875: Blocked Article
|
||||||
|
乌龙茶专属动态
|
||||||
|
加入当前UP主的6元档包月充电即可解锁观看\
|
||||||
|
""",
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"#url" : "https://space.bilibili.com/405279279/article",
|
"#url" : "https://space.bilibili.com/405279279/article",
|
||||||
"#class" : bilibili.BilibiliUserArticlesExtractor,
|
"#class" : bilibili.BilibiliUserArticlesExtractor,
|
||||||
|
|||||||
Reference in New Issue
Block a user