import json from flask import Flask, request, jsonify from flask_cors import CORS from concurrent.futures import ThreadPoolExecutor, as_completed from logger import get_logger from spider import JdSpider, func app = Flask(__name__) # 跨域 CORS(app) # 日志 logger = get_logger() @app.route('/jd/card/bind', methods=['GET', 'POST'], strict_slashes=False) def bind_card(): if request.method == 'GET': return 'jd_card' elif request.method == 'POST': # 接收参数 data = json.loads(request.get_data()) card_pwd = data.get("card_pwd") order_num = data.get("order_num") cookies = data.get("cookies") # 打印参数日志 logger.info(f"订单ID:{order_num},cookies:{cookies}") logger.info(f"订单ID:{order_num},card_pwd:{card_pwd}") res = JdSpider( card_pwd=card_pwd, order_num=order_num, cookies=cookies ).run() logger.info(f"订单ID:{order_num},最终返回日志:{res}") # 打印响应日志 return jsonify(res) @app.route("/jd/money/check", methods=["GET", "POST"]) def money_check(): if request.method == "GET": return "okk" elif request.method == "POST": # 接收参数 data = json.loads(request.get_data()) app.logger.info(f"接收到的请求数据: {data}") pool = ThreadPoolExecutor(50) # 提交任务并获取 Future 对象 futures = [pool.submit(func, item) for item in data] # 收集结果 results = [future.result() for future in as_completed(futures)] return jsonify(results) if __name__ == '__main__': app.run(host="0.0.0.0", port=8189)