Я не могу получить результат. Вместо этого я получаю ошибку 404. Здесь, в коде, изображение сохраняется в автономном режиме, однако я хотел бы, чтобы изображение создавалось в Интернете, а не сохранялось локально, а затем отображалось на веб-странице.
Ниже приведен мой код для построения кривой доходности путем удаления данных в Интернете.
from flask import Flask, render_template
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.pyplot as plt
import bs4
import requests
from bs4 import BeautifulSoup
from urllib.request import urlopen
app = Flask(__name__)
@app.route('/plot')
def plot():
url = 'https://www.ccilindia.com/RiskManagement/SecuritiesSegment/Pages/ZCYCCurrent.aspx'
try:
page = urlopen(url)
except:
print('Error opening the URL')
soup = bs4.BeautifulSoup(page,'html.parser')
Beta_0 = float(soup.find_all('td',{'class': 'ms-vb2'})[4].text)
Beta_1 = float(soup.find_all('td',{'class': 'ms-vb2'})[5].text)
Beta_2 = float(soup.find_all('td',{'class': 'ms-vb2'})[6].text)
Beta_3 = float(soup.find_all('td',{'class': 'ms-vb2'})[7].text)
Tau_1 = float(soup.find_all('td',{'class': 'ms-vb2'})[8].text)
Tau_2 = float(soup.find_all('td',{'class': 'ms-vb2'})[9].text)
tenor = []; NSS = []
for i in range(1,42):
tenor.append(i)
for i in range(len(tenor)):
NSS.append(Beta_0+Beta_1*(1-np.exp(-tenor[i]/Tau_1))/(tenor[i]/Tau_1)+\
Beta_2*(((1-np.exp(-tenor[i]/Tau_1))/(tenor[i]/Tau_1))-np.exp(-tenor[i]/Tau_1))+\
Beta_3*(((1-np.exp(-tenor[i]/Tau_2))/(tenor[i]/Tau_2))-np.exp(-tenor[i]/Tau_2)))
print(NSS)
plt.title('Yield Curve')
plt.xlabel('Tenor')
plt.ylabel('Yield rate')
plt.plot(tenor, NSS)
plt.savefig('static/images/plot.png')
return render_template('yield.html', url='/static/images/plot.png')
if __name__ == '__main__':
app.run()
Ниже приведен код HTML для yield. html
<html>
<body>
<h1>Price Chart</h1>
<p>{{ name }}</p>
<img src="/plot.png" alt="my plot">
</body>
</html>
Моя ошибка
runfile('E:/MSE/Website/yield demo.py', wdir='E:/MSE/Website')
* Serving Flask app "yield demo" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
INFO:werkzeug: * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [14/Jul/2020 09:47:45] "GET / HTTP/1.1" 404 -
INFO:werkzeug:127.0.0.1 - - [14/Jul/2020 09:47:45] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [14/Jul/2020 09:47:57] "GET /plot.png HTTP/1.1" 404 -
INFO:werkzeug:127.0.0.1 - - [14/Jul/2020 09:47:57] "GET /plot.png HTTP/1.1" 404 -
127.0.0.1 - - [14/Jul/2020 09:48:35] "GET /static/images/plot.png HTTP/1.1" 404 -
INFO:werkzeug:127.0.0.1 - - [14/Jul/2020 09:48:35] "GET /static/images/plot.png HTTP/1.1" 404 -