lierqiang před 2 roky
rodič
revize
5fc99ffc23
1 změnil soubory, kde provedl 45 přidání a 5 odebrání
  1. 45 5
      server/conf_task.py

+ 45 - 5
server/conf_task.py

@@ -21,6 +21,46 @@ mysql_con = MysqlHelper()
 conf = get_config()
 
 
+@app.route("/v1/crawler/task/addlink", methods=["POST"])
+def addSpiderLink():
+    try:
+        data = request.json
+        spider_link = data['spider_link']
+        task_id = data['task_id']
+
+        sql = f'select * from crawler_author_map where spider_link={spider_link}'
+        result = mysql_con.get_values(sql)
+        if result:
+            old_task_id = result[0]['task_id']
+            if task_id == old_task_id:
+                up_sql = f'update crawler_author_map set is_del=1 where spider_link="{spider_link}"'
+            else:
+                up_sql = f'update crawler_author_map set task_id={task_id} where spider_link="{spider_link}"'
+            res = mysql_con.update_values(up_sql)
+
+            task_sql = f'select spider_link from crawler_task where task_id ={task_id}'
+            task = mysql_con.get_values(task_sql)
+            spider_links = eval(task[0]['spider_link'])
+            spider_links.append(spider_link)
+            u_sql = f'update crawler_task set spider_link="{spider_links}" where task_id={task_id}'
+            mysql_con.update_values(u_sql)
+            return jsonify({'code': 200, 'message': '抓取名单增加成功', 'del_link': spider_link})
+        else:
+            sql = f'select * from crawler_task where task_id={task_id}'
+            result = mysql_con.get_values(sql)
+            success_list, fail_list = create_uid(result[0], task_id)
+
+            spider_links = eval(result[0]['spider_link'])
+            spider_links.append(spider_link)
+            u_sql = f'update crawler_task set spider_link="{spider_links}" where task_id={task_id}'
+            mysql_con.update_values(u_sql)
+
+            return jsonify({'code': 200, 'message': '抓取名单增加成功', 'add_link': success_list})
+    except Exception as e:
+        return jsonify(
+            {'code': 400, 'message': '抓取名单删除失败', 'spider_link': spider_link})
+
+
 @app.route("/v1/crawler/task/dellink", methods=["POST"])
 def delSpiderLink():
     data = request.json
@@ -29,18 +69,18 @@ def delSpiderLink():
     up_sql = f'update crawler_author_map set is_del=0 where spider_link="{spider_link}"'
     MysqlHelper.update_values(up_sql)
 
-    sql = f'select spider_link from crawler_task where task_id ={task_id}'
+    sql = f'select * from crawler_task where task_id ={task_id}'
     task = mysql_con.get_values(sql)
     spider_links = eval(task[0]['spider_link'])
-    for link in spider_links:
-        spider_links.remove(link)
+    spider_links.remove(spider_link)
+
     u_sql = f'update crawler_task set spider_link="{spider_links}" where task_id={task_id}'
     mysql_con.update_values(u_sql)
     if spider_link:
         return jsonify({'code': 200, 'message': '抓取名单删除成功', 'del_link': spider_link})
     else:
         return jsonify(
-            {'code': 400, 'message': '抓取名单删除失败', 'del_link': spider_link, 'spider_link': spider_links})
+            {'code': 400, 'message': '抓取名单删除失败', 'del_link': spider_link})
 
 
 @app.route("/v1/crawler/task/getcategory", methods=["GET"])
@@ -125,6 +165,7 @@ def getSource():
 
     return jsonify({'code': '200', 'result': result})
 
+
 @app.route("/v1/crawler/source/getasktype", methods=["GET"])
 def getTaskType():
     try:
@@ -157,7 +198,6 @@ def getTaskType():
     return jsonify({'code': '200', 'result': source_dict})
 
 
-
 @app.route("/v1/crawler/task/checkrepeat", methods=["POST"])
 def get_repeat_list():
     data = request.json