如何优化网站/加快加载速度?

时间:2018-01-30 05:21:57

标签: python flask beautifulsoup

我有一个网页,可以进行网页抓取并以幻灯片方式显示新闻。它还使用tweepy从Twitter中提取推文。

代码序列如下:

class extract_news:
   def bcnews(self):
        //code to extract news
   def func2(self):
        //code to extract news
    ...
    ...
   def extractfromtwitter(self):
        //code to extract using tweepy

我有多个这样的功能,可以使用BS4从不同的网站中提取并显示新闻和推文。我正在使用Flask运行此代码。

但该页面大约需要20秒才能加载。如果有人试图远程访问它,它需要太长时间,浏览器会出现错误“连接超时”或者只是没有加载。

如何让此页面加载速度更快?比如说> 5秒钟。

谢谢!

2 个答案:

答案 0 :(得分:1)

您需要确定代码中的瓶颈,然后找出如何减少它们。使用您提供的最少量代码很难帮助您,但最可能的原因是每个HTTP请求占用大部分时间,并且相比之下解析可能可以忽略不计。

看看你是否能找到一种方法来平行HTTP请求,例如:使用multiprocessingthreading模块。

答案 1 :(得分:0)

我同意其他人的意见。为了给出具体的答案/解决方案,我们需要查看代码。 但简而言之,您需要做的是使用DevTools对应用程序进行分析。这将导致您将同步javascript代码推送到CSS,标记和ASCII加载之下。

还创建一个例程来加载一小块内容(大约一页或一张幻灯片),以便用户可以查看。其余的可以在后台加载,他们永远不会知道差异。在他们能够点击滚动到下一张幻灯片之前几乎肯定可以使用它。即使它需要10秒钟左右。

感知性能就是我在这里所描述的。是的,我同意,您将并且应该找到改善整体负载的方法。然而,更重要的是提高“感知性能”。通过加载一些初始内容完成(如我所说)。然后立即在其余部分流式传输。