|  | @@ -0,0 +1,201 @@
 | 
	
		
			
				|  |  | +"""
 | 
	
		
			
				|  |  | +@author: luojunhui
 | 
	
		
			
				|  |  | +"""
 | 
	
		
			
				|  |  | +import requests
 | 
	
		
			
				|  |  | +import json
 | 
	
		
			
				|  |  | +ROOT_URL = 'http://192.168.100.31:8179'
 | 
	
		
			
				|  |  | +# 接口文档地址:http://192.168.100.31:8179/docs
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def get_article_list(
 | 
	
		
			
				|  |  | +    account_nickname,
 | 
	
		
			
				|  |  | +    rate=0.1,
 | 
	
		
			
				|  |  | +    min_time=None,
 | 
	
		
			
				|  |  | +    max_time=None,
 | 
	
		
			
				|  |  | +    filter_same=False,
 | 
	
		
			
				|  |  | +    filter_sensitive=False,
 | 
	
		
			
				|  |  | +    index_list=[1],
 | 
	
		
			
				|  |  | +    msg_type=9,
 | 
	
		
			
				|  |  | +    reverse=True,
 | 
	
		
			
				|  |  | +    keys=[
 | 
	
		
			
				|  |  | +        "Title",
 | 
	
		
			
				|  |  | +        "ItemIndex",
 | 
	
		
			
				|  |  | +        "show_view_count",
 | 
	
		
			
				|  |  | +        "ContentUrl",
 | 
	
		
			
				|  |  | +        "msg_time",
 | 
	
		
			
				|  |  | +    ],
 | 
	
		
			
				|  |  | +):
 | 
	
		
			
				|  |  | +    api_url = f'{ROOT_URL}/artlce_list'
 | 
	
		
			
				|  |  | +    payload = json.dumps({
 | 
	
		
			
				|  |  | +      "account_nickname": account_nickname,
 | 
	
		
			
				|  |  | +      "filter_same": filter_same,
 | 
	
		
			
				|  |  | +      "filter_sensitive": filter_sensitive,
 | 
	
		
			
				|  |  | +      "index_list": index_list,
 | 
	
		
			
				|  |  | +      "keys": keys,
 | 
	
		
			
				|  |  | +      "max_time": max_time,
 | 
	
		
			
				|  |  | +      "min_time": min_time,
 | 
	
		
			
				|  |  | +      "msg_type": msg_type,
 | 
	
		
			
				|  |  | +      "rate": rate,
 | 
	
		
			
				|  |  | +      "reverse": reverse,
 | 
	
		
			
				|  |  | +      "top_n": 10000,
 | 
	
		
			
				|  |  | +      "use_max_time": True,
 | 
	
		
			
				|  |  | +      "use_min_time": True
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +    res = requests.request("POST", api_url, headers={}, data=payload).json()
 | 
	
		
			
				|  |  | +    return res
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def get_article_titles(
 | 
	
		
			
				|  |  | +    account_nickname,
 | 
	
		
			
				|  |  | +    rate=0.1,
 | 
	
		
			
				|  |  | +    min_time=None,
 | 
	
		
			
				|  |  | +    max_time='99999999_999999',
 | 
	
		
			
				|  |  | +    filter_same=True,
 | 
	
		
			
				|  |  | +    filter_sensitive=False,
 | 
	
		
			
				|  |  | +    index_list=[1, 2],
 | 
	
		
			
				|  |  | +    msg_type=9,
 | 
	
		
			
				|  |  | +    reverse=True,
 | 
	
		
			
				|  |  | +    keys=[
 | 
	
		
			
				|  |  | +        "Title",
 | 
	
		
			
				|  |  | +        "msg_time",
 | 
	
		
			
				|  |  | +    ],
 | 
	
		
			
				|  |  | +):
 | 
	
		
			
				|  |  | +    article_list = get_article_list(
 | 
	
		
			
				|  |  | +        account_nickname,
 | 
	
		
			
				|  |  | +        rate=rate,
 | 
	
		
			
				|  |  | +        min_time=min_time,
 | 
	
		
			
				|  |  | +        max_time=max_time,
 | 
	
		
			
				|  |  | +        filter_same=filter_same,
 | 
	
		
			
				|  |  | +        filter_sensitive=filter_sensitive,
 | 
	
		
			
				|  |  | +        index_list=index_list,
 | 
	
		
			
				|  |  | +        msg_type=msg_type,
 | 
	
		
			
				|  |  | +        reverse=reverse,
 | 
	
		
			
				|  |  | +        keys=keys,
 | 
	
		
			
				|  |  | +    )['article_list']
 | 
	
		
			
				|  |  | +    title_list = [x['Title'] for x in article_list]
 | 
	
		
			
				|  |  | +    return title_list
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def get_article_title_url_list(
 | 
	
		
			
				|  |  | +    account_nickname,
 | 
	
		
			
				|  |  | +    rate=0.1,
 | 
	
		
			
				|  |  | +    min_time=None,
 | 
	
		
			
				|  |  | +    max_time='99999999_999999',
 | 
	
		
			
				|  |  | +    filter_same=True,
 | 
	
		
			
				|  |  | +    filter_sensitive=False,
 | 
	
		
			
				|  |  | +    index_list=[1, 2],
 | 
	
		
			
				|  |  | +    msg_type=9,
 | 
	
		
			
				|  |  | +    reverse=True,
 | 
	
		
			
				|  |  | +    keys=[
 | 
	
		
			
				|  |  | +        "Title",
 | 
	
		
			
				|  |  | +        "msg_time",
 | 
	
		
			
				|  |  | +        "ContentUrl",
 | 
	
		
			
				|  |  | +    ],
 | 
	
		
			
				|  |  | +):
 | 
	
		
			
				|  |  | +    article_list = get_article_list(
 | 
	
		
			
				|  |  | +        account_nickname,
 | 
	
		
			
				|  |  | +        rate=rate,
 | 
	
		
			
				|  |  | +        min_time=min_time,
 | 
	
		
			
				|  |  | +        max_time=max_time,
 | 
	
		
			
				|  |  | +        filter_same=filter_same,
 | 
	
		
			
				|  |  | +        filter_sensitive=filter_sensitive,
 | 
	
		
			
				|  |  | +        index_list=index_list,
 | 
	
		
			
				|  |  | +        msg_type=msg_type,
 | 
	
		
			
				|  |  | +        reverse=reverse,
 | 
	
		
			
				|  |  | +        keys=keys,
 | 
	
		
			
				|  |  | +    )['article_list']
 | 
	
		
			
				|  |  | +    title_list = [(x['Title'], x['ContentUrl']) for x in article_list]
 | 
	
		
			
				|  |  | +    return title_list
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def artlce_list_avg_good_bad(
 | 
	
		
			
				|  |  | +    account_nickname,
 | 
	
		
			
				|  |  | +    rate=0.1,
 | 
	
		
			
				|  |  | +    min_time=None,
 | 
	
		
			
				|  |  | +    max_time=None,
 | 
	
		
			
				|  |  | +    keys=[
 | 
	
		
			
				|  |  | +        "Title",
 | 
	
		
			
				|  |  | +        "ItemIndex",
 | 
	
		
			
				|  |  | +        "show_view_count",
 | 
	
		
			
				|  |  | +        "ContentUrl",
 | 
	
		
			
				|  |  | +        "msg_time",
 | 
	
		
			
				|  |  | +    ],
 | 
	
		
			
				|  |  | +):
 | 
	
		
			
				|  |  | +    api_url = f'{ROOT_URL}/artlce_list_avg_good_bad'
 | 
	
		
			
				|  |  | +    payload = json.dumps({
 | 
	
		
			
				|  |  | +      "account_nickname": account_nickname,
 | 
	
		
			
				|  |  | +      "filter_same": True,
 | 
	
		
			
				|  |  | +      "filter_sensitive": True,
 | 
	
		
			
				|  |  | +      "index_list": [
 | 
	
		
			
				|  |  | +        1
 | 
	
		
			
				|  |  | +      ],
 | 
	
		
			
				|  |  | +      "keys": keys,
 | 
	
		
			
				|  |  | +      "max_time": max_time,
 | 
	
		
			
				|  |  | +      "min_time": min_time,
 | 
	
		
			
				|  |  | +      "msg_type": 9,
 | 
	
		
			
				|  |  | +      "rate": rate,
 | 
	
		
			
				|  |  | +      "reverse": True,
 | 
	
		
			
				|  |  | +      "top_n": 10000,
 | 
	
		
			
				|  |  | +      "use_max_time": True,
 | 
	
		
			
				|  |  | +      "use_min_time": True
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +    res = requests.request("POST", api_url, headers={}, data=payload).json()
 | 
	
		
			
				|  |  | +    return res
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def artlce_list_top_tail(
 | 
	
		
			
				|  |  | +    account_nickname,
 | 
	
		
			
				|  |  | +    rate=0.1,
 | 
	
		
			
				|  |  | +    min_time=None,
 | 
	
		
			
				|  |  | +    max_time=None,
 | 
	
		
			
				|  |  | +    keys=[
 | 
	
		
			
				|  |  | +        "Title",
 | 
	
		
			
				|  |  | +        "ItemIndex",
 | 
	
		
			
				|  |  | +        "show_view_count",
 | 
	
		
			
				|  |  | +        "ContentUrl",
 | 
	
		
			
				|  |  | +        "msg_time",
 | 
	
		
			
				|  |  | +    ],
 | 
	
		
			
				|  |  | +):
 | 
	
		
			
				|  |  | +    api_url = f'{ROOT_URL}/artlce_list_top_tail'
 | 
	
		
			
				|  |  | +    payload = json.dumps({
 | 
	
		
			
				|  |  | +      "account_nickname": account_nickname,
 | 
	
		
			
				|  |  | +      "filter_same": True,
 | 
	
		
			
				|  |  | +      "filter_sensitive": True,
 | 
	
		
			
				|  |  | +      "index_list": [
 | 
	
		
			
				|  |  | +        1
 | 
	
		
			
				|  |  | +      ],
 | 
	
		
			
				|  |  | +      "keys": keys,
 | 
	
		
			
				|  |  | +      "max_time": max_time,
 | 
	
		
			
				|  |  | +      "min_time": min_time,
 | 
	
		
			
				|  |  | +      "msg_type": 9,
 | 
	
		
			
				|  |  | +      "rate": rate,
 | 
	
		
			
				|  |  | +      "reverse": True,
 | 
	
		
			
				|  |  | +      "top_n": 10000,
 | 
	
		
			
				|  |  | +      "use_max_time": True,
 | 
	
		
			
				|  |  | +      "use_min_time": True
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +    res = requests.request("POST", api_url, headers={}, data=payload).json()
 | 
	
		
			
				|  |  | +    return res
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +def get_score_list(
 | 
	
		
			
				|  |  | +    account_nickname_list,
 | 
	
		
			
				|  |  | +    text_list,
 | 
	
		
			
				|  |  | +    rate=0.1,
 | 
	
		
			
				|  |  | +    min_time=None,
 | 
	
		
			
				|  |  | +    max_time=None,
 | 
	
		
			
				|  |  | +    interest_type="by_avg",
 | 
	
		
			
				|  |  | +    sim_type="mean",
 | 
	
		
			
				|  |  | +    keys=[
 | 
	
		
			
				|  |  | +        "Title",
 | 
	
		
			
				|  |  | +        "show_view_count",
 | 
	
		
			
				|  |  | +    ],
 | 
	
		
			
				|  |  | +):
 | 
	
		
			
				|  |  | +    api_url = f'{ROOT_URL}/score_list'
 | 
	
		
			
				|  |  | +    payload = json.dumps({
 | 
	
		
			
				|  |  | +        "account_nickname_list": account_nickname_list,
 | 
	
		
			
				|  |  | +        "text_list": text_list,
 | 
	
		
			
				|  |  | +        "max_time": max_time,
 | 
	
		
			
				|  |  | +        "min_time": min_time,
 | 
	
		
			
				|  |  | +        "interest_type": interest_type,
 | 
	
		
			
				|  |  | +        "sim_type": sim_type,
 | 
	
		
			
				|  |  | +        "rate": rate,
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +    res = requests.request("POST", api_url, headers={}, data=payload).json()
 | 
	
		
			
				|  |  | +    return res
 | 
	
		
			
				|  |  | +
 |