参考链接:
https://baijiahao.baidu.com/s?id=1633792644929614025&wfr=spider&for=pc
匹配寻找特定字符串,该字符串的开头和末尾固定,中间要控制在特定范围的字符数
案例:
判断文章是否为腾讯原创,特征样例有如下:
(1)(【版权声明】|版权声明|【声明】|声明|本作品|本文|此文) … 腾讯…(不得转载|禁止转载|谢绝转载)
(2)腾讯…讯(但是要排除 腾讯xxxx腾讯 这种情况),比如 如下这种就不能算原创特征:
免责声明:本文来自腾讯新闻客户端自媒体,不代表腾讯新闻、腾讯网的观点和立场。
(3)…出品| 腾讯新闻
(4)作者为腾讯xxx
(5)腾讯xx (文/xx) 腾讯xx (撰写/xx)
def judge_original_for_tencent(author,content):
content = content.replace("\n","")
regex_str_list = [
r'腾讯.{0,10}[^腾]讯',
#r'腾讯.{0,10}讯',
r'腾讯.{0,20}(文/|撰写/|/文).{0,10})',
r'(【版权声明】|【声明】|版权声明|声明|本文|此文|本作品|权责声明).{0,50}腾讯.{0,70}(法律责任|不得转载|谢绝转载|禁止转载|转载)',
r'出品.{0,20}腾讯',
]
head_tags = ["腾讯体育","腾讯娱乐","腾讯科技"]
for reg_str in regex_str_list:
regex_obj = re.compile(reg_str)
matchObj = regex_obj.search(content)
if matchObj:
return matchObj[0]
if "腾讯" in author:
return "作者为: " + author
for head_tag in head_tags:
if head_tag in content[:100]:
return head_tag