""" @author: luojunhui """ import json import requests class ArticleMatchAccount(object): """ 文章匹配小程序 """ base_url = 'http://192.168.100.31:8179' account_list = None text_list = None rate = 0.1 min_time = None max_time = None interest_type = None sim_type = "mean" keys = ["Title", "show_view_count"] def __init__(self, params): self.params = params def check_params(self): """ check param :return: """ try: self.account_list = self.params['accountList'] self.text_list = self.params['textList'] self.rate = self.params.get("rate", 0.1) self.min_time = self.params.get("min_time", None) self.max_time = self.params.get("max_time", None) self.interest_type = self.params.get("interest_type", "by_avg") self.sim_type = self.params.get("sim_type", "mean") self.keys = self.params.get("keys", ["Title", "show_view_count"]) return None except AttributeError as e: return {'error': "params error: {}".format(e)} def get_score_list(self): """ get score list :return: """ api_url = f'{self.base_url}/score_list' payload = json.dumps({ "account_nickname_list": self.account_list, "text_list": self.text_list, "max_time": self.max_time, "min_time": self.min_time, "interest_type": self.interest_type, "sim_type": self.sim_type, "rate": self.rate, }) res = requests.request("POST", api_url, headers={}, data=payload).json() return res def deal(self): """ deal function :return: """ return self.check_params() if self.check_params() else self.get_score_list()