Python 避免Web垃圾应用程序超时的简单方法?Heroku烧瓶应用程序

Python 避免Web垃圾应用程序超时的简单方法?Heroku烧瓶应用程序,python,flask,heroku,web-scraping,Python,Flask,Heroku,Web Scraping,我正在开发一个Flask应用程序,在这里我可以从多个URL(范围很广,可以超过100个)浏览网页。它在本地工作,但部署到Heroku时超时 这是我正在使用的代码片段,其中bookOutletHas()函数是使用请求和BeautifulSoup进行Web垃圾处理的函数 for book in gr_books: temp_book = book.book title = temp_book["title"] author = temp_book["authors"]["au

我正在开发一个Flask应用程序,在这里我可以从多个URL(范围很广,可以超过100个)浏览网页。它在本地工作,但部署到Heroku时超时

这是我正在使用的代码片段,其中bookOutletHas()函数是使用请求和BeautifulSoup进行Web垃圾处理的函数

for book in gr_books:
    temp_book = book.book
    title = temp_book["title"]
    author = temp_book["authors"]["author"]["name"]
    arr = bookOutletHas(title=title, author=author)
    if arr[0]:
        valid_books += [ str(arr[1]) ]
return render_template("main_page.html",books=valid_books)

我的第一反应是找到一种编码方法,这样每次更新有效的_books数组时它都会更新页面(比如每次再次呈现模板?),但我不确定如何实现这一点。我对javascript一无所知,因此,如果可能的话,我正在寻找一种通过Python和HTML的方法。

您可以配置您的环境,以允许请求处理花费更长的时间。看看有没有那方面的详细资料


然而,这比您在请求线程中要做的工作多得多。更好的方法是在后台定期执行刮取并缓存结果,然后在处理请求时从缓存中读取

正在进行刮片的请求超时?@robinsax它在完成POST请求时超时。根据日志,我看到它成功地抓取了数组的前几个元素。所以我不认为这是刮功能,是需要太长时间,但它有很多网址点击?