|
@@ -25,12 +25,24 @@ conf = get_config()
|
|
|
def delSpiderLink():
|
|
|
data = request.json
|
|
|
spider_links = data['spider_link']
|
|
|
+ task_id = data['task_id']
|
|
|
del_link = []
|
|
|
for link in spider_links:
|
|
|
up_sql = f'update crawler_author_map set is_del=0 where spider_link="{link}"'
|
|
|
MysqlHelper.update_values(up_sql)
|
|
|
del_link.append(link)
|
|
|
- return jsonify({'code': 200, 'message': '抓取名单删除成功', 'del_link': del_link})
|
|
|
+
|
|
|
+ sql = f'select spider_link from crawler_task where task_id ={task_id}'
|
|
|
+ task = mysql_con.get_values(sql)
|
|
|
+ spider_link = eval(task[0]['spider_link'])
|
|
|
+ for link in spider_link:
|
|
|
+ spider_link.remove(link)
|
|
|
+ u_sql = f'update crawler_task set spider_link="{spider_link}" where task_id={task_id}'
|
|
|
+ mysql_con.update_values(u_sql)
|
|
|
+ if del_link:
|
|
|
+ return jsonify({'code': 200, 'message': '抓取名单删除成功', 'del_link': del_link})
|
|
|
+ else:
|
|
|
+ return jsonify({'code': 400, 'message': '抓取名单删除失败', 'del_link': del_link, 'spider_link': spider_links})
|
|
|
|
|
|
|
|
|
@app.route("/v1/crawler/task/getcategory", methods=["GET"])
|
|
@@ -74,7 +86,7 @@ def getMediaInfo():
|
|
|
nick_name=nick_name,
|
|
|
spider_link=spider_link,
|
|
|
media_id={'media_id': media_id, 'media_url': conf['media_main_url'].format(media_id)},
|
|
|
- create_user_time=create_user_time
|
|
|
+ create_user_time=create_user_time * 1000
|
|
|
)
|
|
|
task_user_info.append(media_data)
|
|
|
return jsonify({'code': 200, 'data': task_user_info})
|
|
@@ -205,14 +217,43 @@ def insertTask():
|
|
|
return jsonify({'code': 500, 'message': '任务写入失败,原因:{e}'})
|
|
|
|
|
|
|
|
|
-@app.route("/v1/crawler/task/gettask", methods=["GET"])
|
|
|
+@app.route("/v1/crawler/task/gettask", methods=["POST"])
|
|
|
def getAllTask():
|
|
|
try:
|
|
|
- get_data = request.args.to_dict()
|
|
|
+ get_data = request.json
|
|
|
page = int(get_data.get('page', 1))
|
|
|
offset = int(get_data.get('offset', 10))
|
|
|
start_count = (page * offset) - offset
|
|
|
end_count = page * offset
|
|
|
+ if get_data.get('fields'):
|
|
|
+ select_data = get_data['fields']
|
|
|
+ values = ''
|
|
|
+ for k, v in select_data.items():
|
|
|
+ if isinstance(v, int):
|
|
|
+ values += f'{k}={v} and '
|
|
|
+ else:
|
|
|
+ values += f'{k}="{v}" and '
|
|
|
+ sql = f"select task_id from crawler_author_map where {values[:-4]} and is_del=1" # [:-1]是为了去掉末尾的逗号
|
|
|
+ res = mysql_con.get_values(sql)
|
|
|
+ task_list = list()
|
|
|
+ for author_info in res:
|
|
|
+ task_id = author_info['task_id']
|
|
|
+ sql = f'select task_name, source, task_type, create_task_user, insert_time, update_task_user, update_time from crawler_task where task_id={task_id} order by update_time desc limit {start_count}, {end_count}'
|
|
|
+ task_info = mysql_con.get_values(sql)
|
|
|
+ task_data = dict(
|
|
|
+ task_id=task_info['task_id'],
|
|
|
+ task_name=task_info['task_name'],
|
|
|
+ source=task_info['source'],
|
|
|
+ task_type=task_info['task_type'],
|
|
|
+ create_task_user=task_info['create_task_user'],
|
|
|
+ insert_time=task_info['insert_time'] * 1000,
|
|
|
+ update_task_user=task_info['update_task_user'],
|
|
|
+ update_time=task_info['update_time'] * 1000
|
|
|
+ )
|
|
|
+ task_list.append(task_data)
|
|
|
+
|
|
|
+ return jsonify({'code': 200, 'data': task_list})
|
|
|
+
|
|
|
sql = f"""select task_id, task_name, source, task_type, create_task_user, insert_time, update_task_user, update_time from crawler_task order by update_time desc limit {start_count}, {end_count} """
|
|
|
result = mysql_con.get_values(sql)
|
|
|
if not result:
|
|
@@ -278,8 +319,8 @@ def updateTask():
|
|
|
task_id = data.get('task_id')
|
|
|
task_info = data.get('task_info')
|
|
|
values = ''
|
|
|
- task_info['min_publish_time'] = task_info['min_publish_time']/1000
|
|
|
- task_info['next_time'] = task_info['next_time']/1000
|
|
|
+ task_info['min_publish_time'] = task_info['min_publish_time'] / 1000
|
|
|
+ task_info['next_time'] = task_info['next_time'] / 1000
|
|
|
|
|
|
for k, v in task_info.items():
|
|
|
if isinstance(v, int):
|