| 
					
				 | 
			
			
				@@ -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() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 |