|  | @@ -0,0 +1,67 @@
 | 
	
		
			
				|  |  | +"""
 | 
	
		
			
				|  |  | +@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()
 | 
	
		
			
				|  |  | +
 |