from flask import Flask, render_template, request import pandas as pd import requests from bs4 import BeautifulSoup from langdetect import detect import os app = Flask(__name__) # Function to detect language of website def detect_language_of_website(url): try: response = requests.get(url) response.raise_for_status() soup = BeautifulSoup(response.text, 'html.parser') text = soup.get_text() language = detect(text) return language except requests.exceptions.RequestException: return None # Route for homepage @app.route('/') def index(): return render_template('index.html') # Route to handle file upload and display results in an HTML table @app.route('/upload', methods=['POST']) def upload_file(): if 'file' not in request.files: return "No file part" file = request.files['file'] if file.filename == '': return "No selected file" # Read the Excel file try: df = pd.read_excel(file) # Assuming the Excel file contains a column 'Website' with URLs websites = df['Website'].tolist() except Exception as e: return f"Error reading file: {e}" # Detect language for each website result = [] for website in websites: language = detect_language_of_website(website) result.append((website, language if language else 'Error')) return render_template('results.html', result=result) if __name__ == '__main__': port = int(os.environ.get("PORT", 4000)) app.run(debug=False,host="0.0.0.0", port=port)