flask + selenium启动时每次都开启两个浏览器的原因及解决办法,踩坑日记~~~

刚开始我的flask是这样的,每次启动flask时都会开启两个浏览器,但是只用一个浏览器,很奇怪

from flask import Flask,request,jsonify
from Project import SeleniumProject
import traceback


app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False # jsonify转变格式的时候不会转变为unicode编码格式,unicode编码格式无法直接看到汉字

# 这里是selenium的主程序
seleniumProject = SeleniumProject()


# 运行状态
@app.route("/test", methods=["GET"])
def demo_status():
# 看一下接口运行状况
return_dict = {"return_code": "200", "return _info": "运行正常~~~"}
return jsonify(return_dict)


@app.route("/project", methods=["GET"])
def demo3():
url = request.args.get("url")
if url:
try:
data = seleniumProject.main(url)
except:
data = {"error": traceback.format_exc()}
else:
data = {"error": "请传入准确的url参数"}
return jsonify(data)


if __name__ == "__main__":
app.run(host='0.0.0.0', port=6725, debug=True)

 

重点来了:我发现每次修改代码之后又会开启两个浏览器,然后我就把debug改为False,重新启动之后发现正常了

注意:在使用selenium + flask做自动采集的接口服务时一定要把debug改为False。原因有二:

第一,每次开启flask时总会多开启一个没用的浏览器,浪费资源;

第二,每次修改代码后又会开启2个浏览器,但是之前的2个浏览器又没有用到,非常浪费资源,尤其是在服务器上面用无界面浏览器采集的时候,修改几次代码之后你都不知道开启了多少个浏览器,然后你就会发现服务器的可用内存越来越小。

posted @ 2022-05-11 11:18  乔儿  阅读(740)  评论(0编辑  收藏  举报