if cc['filter']:
for key,value in cc['filter'].items():
for cs in value:
if re.search(cs,item[key]) is None:
print('pass')
item = item
else:
print('not pass')
item = None
break
return item
代码如上,从filter里获取正则表达式和要匹配的字段(filter的数据在下面),如果正则匹配的结果是None(说明没有匹配到)这条数据没问题,如果匹配到了,整个item=None,跳出循环。
但是现在有三个字段,四个正则,只要匹配结果是None,循环就结束了,后面的正则就不会执行了...按理说不应该把全部的正则匹配一遍么或者遇到else为止么
'filter':{
'title':
[
'.*?_国网',
'题材瞻',
],
'content':
[
'\(来源:.*?\)'
],
'source':[
'.*?hangq'
],
'url':[]
}`
item的数据:
item = {'content': '(来源:新浪网)一、题材前瞻 1、MicroLED显示技术突破量产关卡商用进程有望进一步加速、国星光电、华灿光电。 (来源:中国网财经)',
'source': '旺角资讯',
'title': '个股精选(题材前瞻)_中国网',
'url': '',
}
如图,filter里有四个正则需要匹配,但是实际上只匹配了两个,后面的就没运行了