2013-02-18 93 views
1

我在我的网页上使用了simple_html_dom来保存3个单独的页面,并在这些页面中搜索和打印各种内容。这使得该页面需要几秒钟才能加载。simple_html_dom为什么这么慢?

有没有办法,我可以优化simple_html_dom跑得更快什么办法?还是有什么我应该完全使用更好的速度?我会认为3页并不多,但也许我错了。我想这就像是一次加载3个单独的页面 - 但是,有什么我可以用来加快速度的吗?

在此先感谢!

+2

首先你应该寻找究竟需要时间。下载文件?解析它?你还做什么?你能否也包含你的PHP代码?没有看到它,很难说是否有什么问题。 – Tchoupi 2013-02-18 17:56:13

+0

我怎么知道这是花费多少时间? (对不起,如果这是一个愚蠢的问题 - 编程新手。)我也可以告诉你代码,但其中有很多。它通常是一个file_get_html,然后是页面内的find->。 – devirkahan 2013-02-18 21:08:24

回答

2

这可能取决于你的搜索内容,即,多刮DOM解析器需要如何做。我最近使用simple_html_dom从几乎一千页的数据中提取数据,所有这些都是在一个请求中完成的,花费了10秒来处理所有数据。

这可能是在HTTP请求花费的大部分时间。尝试使用wget或任何您喜欢的方法抓取页面,然后针对保存到本地硬盘的文件运行simple_html_dom。

+0

问题是,我每次都会有所不同,所以我无法事先在本地保存文件。我正在做的是保存整个网页(其中三个),然后从我保存的三个页面中查找总共5行文本。我觉得这样做需要的时间要长得多。 – devirkahan 2013-02-18 21:06:25

+0

你有没有试过把一些断点或类似的东西?比如,可能会打印每个页面被提取后的经过时间,并在被刮掉后再次查看确切的瓶颈。从我的经验来看,它几乎都是http请求(这就是为什么我要先“浏览”页面,然后在本地运行所有内容)。 – mingos 2013-02-18 23:33:50