server_article_account.py 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. """
  2. @author: luojunhui
  3. """
  4. import requests
  5. import json
  6. ROOT_URL = 'http://192.168.100.31:8179'
  7. # 接口文档地址:http://192.168.100.31:8179/docs
  8. def get_article_list(
  9. account_nickname,
  10. rate=0.1,
  11. min_time=None,
  12. max_time=None,
  13. filter_same=False,
  14. filter_sensitive=False,
  15. index_list=[1],
  16. msg_type=9,
  17. reverse=True,
  18. keys=[
  19. "Title",
  20. "ItemIndex",
  21. "show_view_count",
  22. "ContentUrl",
  23. "msg_time",
  24. ],
  25. ):
  26. api_url = f'{ROOT_URL}/artlce_list'
  27. payload = json.dumps({
  28. "account_nickname": account_nickname,
  29. "filter_same": filter_same,
  30. "filter_sensitive": filter_sensitive,
  31. "index_list": index_list,
  32. "keys": keys,
  33. "max_time": max_time,
  34. "min_time": min_time,
  35. "msg_type": msg_type,
  36. "rate": rate,
  37. "reverse": reverse,
  38. "top_n": 10000,
  39. "use_max_time": True,
  40. "use_min_time": True
  41. })
  42. res = requests.request("POST", api_url, headers={}, data=payload).json()
  43. return res
  44. def get_article_titles(
  45. account_nickname,
  46. rate=0.1,
  47. min_time=None,
  48. max_time='99999999_999999',
  49. filter_same=True,
  50. filter_sensitive=False,
  51. index_list=[1, 2],
  52. msg_type=9,
  53. reverse=True,
  54. keys=[
  55. "Title",
  56. "msg_time",
  57. ],
  58. ):
  59. article_list = get_article_list(
  60. account_nickname,
  61. rate=rate,
  62. min_time=min_time,
  63. max_time=max_time,
  64. filter_same=filter_same,
  65. filter_sensitive=filter_sensitive,
  66. index_list=index_list,
  67. msg_type=msg_type,
  68. reverse=reverse,
  69. keys=keys,
  70. )['article_list']
  71. title_list = [x['Title'] for x in article_list]
  72. return title_list
  73. def get_article_title_url_list(
  74. account_nickname,
  75. rate=0.1,
  76. min_time=None,
  77. max_time='99999999_999999',
  78. filter_same=True,
  79. filter_sensitive=False,
  80. index_list=[1, 2],
  81. msg_type=9,
  82. reverse=True,
  83. keys=[
  84. "Title",
  85. "msg_time",
  86. "ContentUrl",
  87. ],
  88. ):
  89. article_list = get_article_list(
  90. account_nickname,
  91. rate=rate,
  92. min_time=min_time,
  93. max_time=max_time,
  94. filter_same=filter_same,
  95. filter_sensitive=filter_sensitive,
  96. index_list=index_list,
  97. msg_type=msg_type,
  98. reverse=reverse,
  99. keys=keys,
  100. )['article_list']
  101. title_list = [(x['Title'], x['ContentUrl']) for x in article_list]
  102. return title_list
  103. def artlce_list_avg_good_bad(
  104. account_nickname,
  105. rate=0.1,
  106. min_time=None,
  107. max_time=None,
  108. keys=[
  109. "Title",
  110. "ItemIndex",
  111. "show_view_count",
  112. "ContentUrl",
  113. "msg_time",
  114. ],
  115. ):
  116. api_url = f'{ROOT_URL}/artlce_list_avg_good_bad'
  117. payload = json.dumps({
  118. "account_nickname": account_nickname,
  119. "filter_same": True,
  120. "filter_sensitive": True,
  121. "index_list": [
  122. 1
  123. ],
  124. "keys": keys,
  125. "max_time": max_time,
  126. "min_time": min_time,
  127. "msg_type": 9,
  128. "rate": rate,
  129. "reverse": True,
  130. "top_n": 10000,
  131. "use_max_time": True,
  132. "use_min_time": True
  133. })
  134. res = requests.request("POST", api_url, headers={}, data=payload).json()
  135. return res
  136. def artlce_list_top_tail(
  137. account_nickname,
  138. rate=0.1,
  139. min_time=None,
  140. max_time=None,
  141. keys=[
  142. "Title",
  143. "ItemIndex",
  144. "show_view_count",
  145. "ContentUrl",
  146. "msg_time",
  147. ],
  148. ):
  149. api_url = f'{ROOT_URL}/artlce_list_top_tail'
  150. payload = json.dumps({
  151. "account_nickname": account_nickname,
  152. "filter_same": True,
  153. "filter_sensitive": True,
  154. "index_list": [
  155. 1
  156. ],
  157. "keys": keys,
  158. "max_time": max_time,
  159. "min_time": min_time,
  160. "msg_type": 9,
  161. "rate": rate,
  162. "reverse": True,
  163. "top_n": 10000,
  164. "use_max_time": True,
  165. "use_min_time": True
  166. })
  167. res = requests.request("POST", api_url, headers={}, data=payload).json()
  168. return res
  169. def get_score_list(
  170. account_nickname_list,
  171. text_list,
  172. rate=0.1,
  173. min_time=None,
  174. max_time=None,
  175. interest_type="by_avg",
  176. sim_type="mean",
  177. keys=[
  178. "Title",
  179. "show_view_count",
  180. ],
  181. ):
  182. api_url = f'{ROOT_URL}/score_list'
  183. payload = json.dumps({
  184. "account_nickname_list": account_nickname_list,
  185. "text_list": text_list,
  186. "max_time": max_time,
  187. "min_time": min_time,
  188. "interest_type": interest_type,
  189. "sim_type": sim_type,
  190. "rate": rate,
  191. })
  192. res = requests.request("POST", api_url, headers={}, data=payload).json()
  193. return res