簡體   English   中英

Flask/Python - 我如何在 Flask 中運行這個 python 腳本並在 ZFC35FDC70D5FC69D256987A 頁面中渲染 output

[英]Flask/Python - How can I run this python script in Flask and render output in html page

我編寫此代碼以獲取一些股票價格值,以及如何在 results.html 頁面中呈現 output 結果? 我正在使用 Heroku 來制作這個應用程序。

請幫助我使用這個應用程序。 這是調用其他文件的主文件。

如果需要更多詳細信息來運行此應用程序,請告訴我。

這是我制作的代碼,用於在 view.html 頁面中顯示 output。 x.py

print('----EURO DO REMESSA ONLINE-----')
import melhor
print('-----COTAÇÃO DOLARHOJE.COM-----')
import cota
print('-----INDICADOR EURO COMERCIAL H1----')
import indicator
print('-----INVESTING VALOR EURO COM-----')
import invest
print( '-------------\n', 'Conhece a ti mesmo. (Tales de Mileto)', '\n-------------')

melhor.py

import requests
from bs4 import BeautifulSoup as bs
import time
import re
from Color import *
url = 'https://www.remessaonline.com.br/cotacao/cotacao-euro'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
page = requests.get(url, headers=headers)
page
page.status_code
page.text
soup = bs(page.text, 'html.parser')
resumo = soup.find_all('div', class_="style__Text-sc-27fg4f-2 ddwOcG")[0].get_text('')
mult = float(re.sub('[^0-9.]', "", resumo.replace(",",".")))
print('Euro COMERCIAL: R$', Base.BOLD, ANSI_Compatible.Color(120), mult, ANSI_Compatible.END, Base.END)
eur_rate = 1.035145
eur_ra = str(mult * eur_rate)[:6]
print('Euro TURISMO: R$', Base.BOLD, eur_ra, Base.END)
current = time.strftime("%Y / dia:%d mês:%m horário:%H:%M:%S")
print(current)
with open('remessa.txt', 'a') as f:
    f.writelines('Valor euro turismo:' + 'R$' + eur_ra + ' ' + 'Data:' + current + '\n')

副本

import requests
import time

response = requests.get('http://dolarhoje.com/cotacao.txt')
data = response.text
print('1 USD comercial =',"R$",data )

response = requests.get('http://dolarhoje.com/dolar-turismo/cotacao.txt')
data = response.text
print('1 USD turismo =',"R$",data )

response = requests.get('http://dolarhoje.com/euro/cotacao.txt')
data2 = response.text
print('1 EUR comercial =',"R$",data2 )

response = requests.get('http://dolarhoje.com/euro-turismo/cotacao.txt')
data2 = response.text
print('1 EUR turismo =',"R$",data2 )

response = requests.get('http://dolarhoje.com/bitcoin-hoje/cotacao.txt')
data3 = response.text
print('1 BTC =',"R$",data3 )


current = time.strftime("ano:%Y dia:%d mês:%m horário:%H:%M:%S")
with open('cota.txt', 'a') as f:
    f.writelines('Valor euro turismo:' + 'R$' + data2 + ' ' + 'Data:' + current + '\n')

指標.py

import requests
from bs4 import BeautifulSoup as bs


url = 'https://br.investing.com/currencies/eur-brl-technical'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
page = requests.get(url, headers=headers)
page
page.status_code
page.text
soup = bs(page.text, 'html.parser')
resumo = soup.find_all(id='techStudiesInnerWrap')[0].get_text(' ')
print(resumo) 

投資.py

import requests
from bs4 import BeautifulSoup as bs


url = 'https://br.investing.com/currencies/eur-brl-technical'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
page = requests.get(url, headers=headers)
page
page.status_code
page.text
soup = bs(page.text, 'html.parser')
resumo = soup.find_all('div', class_="top bold inlineblock")[0].get_text(' ')
print(resumo) 

感謝您的關注。

希望對大家有所幫助,對Python了解不多。 但聽起來如果您正在對 html 頁面進行服務器端渲染,您只需要一個模板引擎,例如 Jade、Pug 或類似的東西。

以下是一些示例供您參考:

https://www.grizzlypeaksoftware.com/articles?id=1m3W3llyJLy4YS5OpyyxBq

https://scotch.io/tutorials/getting-started-with-flask-a-python-microframework

https://scoutapm.com/blog/python-flask-tutorial-getting-started-with-flask

https://www.liquidweb.com/kb/getting-started-with-flask/

https://github.com/akibrhast/flask_base_template

基本上你需要了解的是如何創建一個后端服務器。 在這種情況下使用 flask。 通常與 flask 一起使用的模板引擎稱為 Jinja。 一旦您對您的數據發出請求調用,您就會希望通過 jinja 將其傳遞給您的路線。

這是一個基本示例:

from flask import Flask, flash, redirect, render_template, request, session, abort,url_for
import os

#from flask_login import login_user, current_user, logout_user, login_required #Optional login imports, need to 'pip install flask_login'

app = Flask(__name__)

@app.route('/')
def index():
  return render_template("base.html")

if __name__ == '__main__':
    app.secret_key = os.urandom(12)
    app.run(debug=True)

我解決了這個問題:這是我找到的解決方案:

首先,您可以在這里訪問應用程序: finance-python.herokuapp.com

應用程序.py

from flask import Flask
from functools import wraps
import sqlite3
import requests
import bs4
import requests_html
from flask import render_template
import subprocess
import re
import flask
from bs4 import BeautifulSoup as bs
import time

app = flask.Flask(__name__)

@app.route("/", methods=['GET', 'POST'])
def index():
    url = 'https://www.remessaonline.com.br/cotacao/cotacao-euro'
    headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
    page = requests.get(url, headers=headers)
    page
    page.status_code
    page.text
    soup = bs(page.text, 'html.parser')
    resumo = soup.find_all('div', class_="style__Text-sc-27fg4f-2 ddwOcG")[0].get_text('')
    mult = float(re.sub('[^0-9.]', "", resumo.replace(",",".")))
    euro_comercial_rem = print('Euro COMERCIAL: R$', mult)
    eur_rate = 1.035145
    eur_ra = str(mult * eur_rate)[:6]
    euro_turismo_rem = print('Euro TURISMO: R$', eur_ra)
    current = time.strftime("%Y / dia:%d mês:%m horário:%H:%M:%S")
    print(current)

    response = requests.get('http://dolarhoje.com/cotacao.txt')
    data = response.text
    dolar_com_dolar_hoje = print('1 USD comercial =',"R$",data )
    response = requests.get('http://dolarhoje.com/dolar-turismo/cotacao.txt')
    dataa = response.text
    dolar_tur_dolar_hoje = print('1 USD turismo =',"R$",dataa )

    response = requests.get('http://dolarhoje.com/euro/cotacao.txt')
    data2 = response.text
    euro_com_dolar_hoje = print('1 EUR comercial =',"R$",data2 )
    response = requests.get('http://dolarhoje.com/euro-turismo/cotacao.txt')
    dataa2 = response.text
    euro_tur_dolar_hoje = print('1 EUR turismo =',"R$",dataa2 )

    response = requests.get('http://dolarhoje.com/bitcoin-hoje/cotacao.txt')
    data3 = response.text
    btc_dolar_hoje = print('1 BTC =',"R$",data3 )


    current = time.strftime("ano:%Y dia:%d mês:%m horário:%H:%M:%S")

    url = 'https://br.investing.com/currencies/eur-brl-technical'
    headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
    page = requests.get(url, headers=headers)
    page
    page.status_code
    page.text
    soup = bs(page.text, 'html.parser')
    resumoo = soup.find_all(id='techStudiesInnerWrap')[0].get_text(' ')
    resumo_inves = print(resumoo)

    url = 'https://br.investing.com/currencies/eur-brl-technical'
    headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
    page = requests.get(url, headers=headers)
    page
    page.status_code
    page.text
    soup = bs(page.text, 'html.parser')
    resumooo = soup.find_all('div', class_="top bold inlineblock")[0].get_text(' ')
    resumo_invest_eur_brl = print(resumooo)
    #resumos = 'eur_ra' + 'euro_turismo_rem' + 'dolar_com_dolar_hoje' + 'dolar_tur_dolar_hoje' + 'btc_dolar_hoje' + 'resumo_inves' + 'euro_com_dolar_hoje' + 'euro_tur_dolar_hoje'

    return flask.render_template('index.html', mult=mult, eur_ra=eur_ra, current=current, data=data, dataa=dataa, data2=data2, dataa2=dataa2, data3=data3, resumoo=resumoo, resumooo=resumooo)

if __name__ == '__main__':
    app.run()

index.html 進入模板文件夾

-----EURO DO REMESSA ONLINE----- <br>
EURO COMERCIAL : R$ {{ mult }} <br>
EURO TURISMO: R$ {{ eur_ra }} <br>
{{ current }} <br> <br>
----COTAÇÃO DOLARHOJE.COM----- <br>
1 USD comercial = R$ {{ data }} <br>
1 USD turismo = R$ {{ dataa }} <br>
1 EUR comercial = R$ {{ data2 }} <br>
1 EUR turismo = R$ {{ dataa2 }} <br>
1 BTC = R$ {{ data3 }} <br> <br>
-----INDICADOR EURO COMERCIAL H1----- <br>
{{ resumoo }} <br> <br>
-----VARIAÇÃO DO EURO-----<br>
{{ resumooo }} <br> <br>

Conhece a ti mesmo - Tales de Mileto

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM