我有一个奇怪的问题,python 终端抛出一个AttributeError: 'NoneType' object has no attribute 'find'但我在 Flask 调试控制台中没有收到任何错误并且应用程序正常工作,没有任何问题。python 控制台中的错误让我抓狂,我想了解发生了什么。
我的应用程序的布局如下。我呈现一个主页,该主页通过 html 表单检索用户的输入并获取该值,在本例中为股票代码,并重定向到函数 infoPage,其中股票代码用于执行一些网络抓取。
@app.route('/', methods=['GET', 'POST'])
def stockTickerInput():
if request.method == "POST":
ticker = request.form['ticker'].upper()
return redirect(url_for('infoPage', ticker=ticker))
return render_template('home.html')
出于某种原因,python 在 flask 重定向到infoPage. 我知道这一点,因为一旦呈现,我就会在用户甚至在 html 表单中输入股票行情之前home.html收到错误。AttributeError: 'NoneType' object has no attribute 'find'
@app.route('/<ticker>')
def infoPage(ticker):
# scrapes stock chart/company info from finviz
def stockInfo():
url = 'https://finviz.com/quote.ashx?t=' + ticker
html = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'})
soup = BeautifulSoup(html.text, 'lxml')
# finds news table within finviz website
stock_website = soup.find('table', class_="fullview-title")
company_name = stock_website.find('a', class_='tab-link').text
return company_name
# functions to be passed as variables in jinja2 template
info = stockInfo()
return render_template('stockInfo.html', ticker=ticker, info=info)
DIEA
相关分类