He estado tratando de crear un sitio web que obtenga información de otro sitio web (los 10 mejores jugadores de tetris) y luego inicie sesión en mi consola. Estoy experimentando con pandas para Python y Javascript con ajax.
El código original de Python funcionó en nodejs, pero necesito que funcione en un sitio web, así que traté de adaptarme usando ajax.
Ahora recibo este código de error 1 y, a veces, este código de error 2 . No estoy seguro de cuándo sucede cuál. Sin embargo, siempre codifique 404.
¿Alguien sabe cómo arreglar esto? ¡Gracias por adelantado!
Código HTML/Javascript:
<html> <head> <title>website test</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> </head> <body> <button>click me for nothing to happen</button> <script> function ajaxCall() { $.ajax({ url: "/makeTop10", success: function (data) { console.log(data); console.log("call happened.") //extra test } }); } ajaxCall(); </script> </body> </html>código pitón:
from flask import Flask, render_template import pandas as pd app = Flask(__name__) @app.route("/makeTop10") def makeTop10(): list = pd.read_html("https://listfist.com/list-of-tetris-high-scores-nes-pal") data = list[0] output = "" for i in range(10): output += "{: <10}{: <20}{: <25}\n".format( data.at[i, "Rank"], data.at[i, "Player Name"], data.at[i, "Score(2 April, 2022)[source]"], ) return output if __name__ == "__main__": app.run()Acabo de cambiar tu código a esto y está funcionando.
Código HTML/Javascript:
<html> <head> <title>website test</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> </head> <body> <button>click me for nothing to happen</button> <script> function ajaxCall() { $.ajax({ url: "http://127.0.0.1:5000/makeTop10", success: function (data) { console.log(data); console.log("call happened.") //extra test } }); } ajaxCall(); </script> </body> </html>código pitón:
from flask import Flask, render_template import pandas as pd from flask_cors import CORS # added app = Flask(__name__) CORS(app) # added @app.route("/makeTop10") def makeTop10(): list = pd.read_html("https://listfist.com/list-of-tetris-high-scores-nes-pal") data = list[0] output = "" for i in range(10): output += "{: <10}{: <20}{: <25}\n".format( data.at[i, "Rank"], data.at[i, "Player Name"], data.at[i, "Score(2 April, 2022)[source]"], ) return output if __name__ == "__main__": app.run()