check_data.py 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import re
  2. class CheckData:
  3. """检查数据文本内容"""
  4. __bidding_title_set = {'招标', '流标', '评标', '询价', '中标候选人', '抽签',
  5. '谈判', '中选', '意见征询', '更正公告', '废标',
  6. '补遗', '议价', '邀请', '资格预审', '竞标', '变更',
  7. '遴选', '磋商', '项目', '评审', '询比', '开标',
  8. '澄清', '比选', '中止', '采购', '竟价', '招投标',
  9. '拟建', '成交', '中标', '竞争性谈判', '工程',
  10. '验收公告', '更正', '单一来源', '变更公告', '合同',
  11. '违规', '评判', '监理', '竞价', '答疑', '终止',
  12. '系统'}
  13. __bidding_channel_set = {"通知公告", "公告公示", "公示公告"}
  14. __plan_to_build_title_set = {'项目', '工程', '验收', '评价', '设计', '调查',
  15. '审核', '审批', '批复', '批后', '批前', '核准',
  16. '备案', '立项', '规划设计', '环评', }
  17. __plan_to_build_channel_set = {"通知", "部门文件", "公示",
  18. "办件" ,"公司", "新闻", "最新资讯"}
  19. __ignore_site = ['辽宁省投资项目在线审批监管平台', '河北省投资项目在线审批管理平台', '广西投资项目在线审批监管平台',
  20. '安徽省投资项目在线审批监管平台', '宁夏回族自治区投资项目在线审批办事大厅', '广州市规划和自然资源局',
  21. '湖北政务服务网', '贵州省投资项目在线审批监管平台', '海南省投资项目在线审批监管平台',
  22. '吉林省投资项目在线审批监管平台', '江苏省投资项目在线审批监管平台新网址']
  23. @classmethod
  24. def title(cls, name: str, group=None):
  25. check_texts = cls.__bidding_title_set
  26. if group and group.lower() in ["njpc", "plan_to_build"]:
  27. check_texts = cls.__plan_to_build_title_set
  28. for text in check_texts:
  29. valid_text = re.search(text, name)
  30. if valid_text is not None:
  31. break
  32. else:
  33. return 10106, '标题未检索到采集关键词'
  34. return 200, 'ok'
  35. @classmethod
  36. def channel(cls, name: str, site: str, group=None):
  37. check_texts = cls.__bidding_channel_set
  38. ignore_site = cls.__ignore_site
  39. if group and group.lower() in ["njpc", "plan_to_build"]:
  40. check_texts = cls.__plan_to_build_channel_set
  41. if site in ignore_site:
  42. return False
  43. for text in check_texts:
  44. valid_text = re.search(text, name)
  45. if valid_text is not None:
  46. break
  47. else:
  48. return False
  49. return True