2013-02-18 119 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