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