Flask 抛出 500 内部服务器错误
Flask throwing 500 internal server error
这就是我的 routes.py 的样子。基本上它是一个抓取页面内所有 youtube 视频链接的抓取工具。此代码独立运行(不在烧瓶中)。但是,当我尝试通过 Flask 使其工作时,它会抛出 500 内部服务器错误。任何形式的帮助将不胜感激。
from flask import Flask, render_template
from BeautifulSoup import BeautifulSoup
import requests
app = Flask(__name__)
@app.route("/")
def main():
url="https://www.youtube.com/user/EminemVEVO/videos"
source_code=requests.get(url)
text_source_code=source_code.text
final_code=BeautifulSoup(text_source_code)
video_url=final_code.findAll('a',{'class':'yt-uix-sessionlink yt-uix-tile-link spf-link yt-ui-ellipsis yt-ui-ellipsis-2'})
for i in video_url:
if "/watch?v=" in i.get('href'):
j= i.get('href')
j=j.replace("/watch?v=","")
print "http://youtube.com"+j
if __name__ == '__main__':
app.run()
堆栈跟踪如下
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "/Library/Python/2.7/site-packages/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/Library/Python/2.7/site-packages/flask/app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "/Library/Python/2.7/site-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/Library/Python/2.7/site-packages/flask/app.py", line 1478, in full_dispatch_request
response = self.make_response(rv)
File "/Library/Python/2.7/site-packages/flask/app.py", line 1566, in make_response
raise ValueError('View function did not return a response')
ValueError: View function did not return a response
您的 main()
方法,路由到 '/'
,没有 return 任何值。您将 youtube URL 打印到控制台,但没有任何内容被发送回客户端。 Flask 不喜欢那样,很可能这不是您想要的。
Return 用户的 URL 列表:
@app.route("/")
def main():
...
data_to_return = []
for i in video_url:
if "/watch?v=" in i.get('href'):
j= i.get('href')
j=j.replace("/watch?v=","")
data_to_return.append("http://youtube.com"+j)
return '\n'.join(data_to_return)
这就是我的 routes.py 的样子。基本上它是一个抓取页面内所有 youtube 视频链接的抓取工具。此代码独立运行(不在烧瓶中)。但是,当我尝试通过 Flask 使其工作时,它会抛出 500 内部服务器错误。任何形式的帮助将不胜感激。
from flask import Flask, render_template
from BeautifulSoup import BeautifulSoup
import requests
app = Flask(__name__)
@app.route("/")
def main():
url="https://www.youtube.com/user/EminemVEVO/videos"
source_code=requests.get(url)
text_source_code=source_code.text
final_code=BeautifulSoup(text_source_code)
video_url=final_code.findAll('a',{'class':'yt-uix-sessionlink yt-uix-tile-link spf-link yt-ui-ellipsis yt-ui-ellipsis-2'})
for i in video_url:
if "/watch?v=" in i.get('href'):
j= i.get('href')
j=j.replace("/watch?v=","")
print "http://youtube.com"+j
if __name__ == '__main__':
app.run()
堆栈跟踪如下
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "/Library/Python/2.7/site-packages/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/Library/Python/2.7/site-packages/flask/app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "/Library/Python/2.7/site-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/Library/Python/2.7/site-packages/flask/app.py", line 1478, in full_dispatch_request
response = self.make_response(rv)
File "/Library/Python/2.7/site-packages/flask/app.py", line 1566, in make_response
raise ValueError('View function did not return a response')
ValueError: View function did not return a response
您的 main()
方法,路由到 '/'
,没有 return 任何值。您将 youtube URL 打印到控制台,但没有任何内容被发送回客户端。 Flask 不喜欢那样,很可能这不是您想要的。
Return 用户的 URL 列表:
@app.route("/")
def main():
...
data_to_return = []
for i in video_url:
if "/watch?v=" in i.get('href'):
j= i.get('href')
j=j.replace("/watch?v=","")
data_to_return.append("http://youtube.com"+j)
return '\n'.join(data_to_return)