python - Flask throwing 500 internal server error -
this routes.py looks like. crawler crawls youtube video links within page. code works fine standalone (not in flask). however, when try make work via flask, throws 500 internal server error. kind of appreciated.
from flask import flask, render_template 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'}) 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()
stack trace below
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 response') valueerror: view function did not return response
your main()
method, routed '/'
, not return values. print youtube urls console, nothing being sent client. flask doesn't that, , not intended.
return list of urls user:
@app.route("/") def main(): ... data_to_return = [] 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)
Comments
Post a Comment