Spaces:
Sleeping
Sleeping
| from flask import Flask, request, render_template | |
| import numpy as np | |
| import pickle | |
| import warnings | |
| warnings.filterwarnings('ignore') | |
| from feature import FeatureExtraction | |
| with open("model.pkl", "rb") as file: | |
| gbc = pickle.load(file) | |
| app = Flask(__name__) | |
| def index(): | |
| result = None | |
| result_class = None | |
| url = None | |
| if request.method == 'POST': | |
| url = request.form['url'] | |
| obj = FeatureExtraction(url) | |
| x = np.array(obj.getFeaturesList()).reshape(1, 30) | |
| y_pred = gbc.predict(x)[0] | |
| y_pro_phishing = gbc.predict_proba(x)[0, 0] | |
| y_pro_non_phishing = gbc.predict_proba(x)[0, 1] | |
| if y_pred == 1: | |
| result = "It is {0:.2f}% safe to go".format(y_pro_non_phishing * 100) | |
| result_class = "safe" | |
| else: | |
| result = "It is {0:.2f}% phishing".format(y_pro_phishing * 100) | |
| result_class = "phishing" | |
| return render_template('index.html', result=result, url=url, result_class=result_class) | |
| if __name__ == '__main__': | |
| app.run(debug=True) | |