2012-01-23 15 views
-1

我試圖建立機制,將掃描網站在給定的URL,並獲取所有圖像。目前我使用的是simple_html_dom,它是slow快速的方式來從網站獲取圖像的大小> x

localhost掃描一個網站正在花費大約30秒 - 1分鐘。

我需要做的是:

  1. 負載的URL。
  2. 掃描圖像(如果其可能具有特定尺寸x>寬度)
  3. 打印它們。

我在尋找最快的的方法。

+0

這是一個不平凡的任務,你有幾乎最快的方式。那麼,無論如何,這是PHP中最快的方式。 – DaveRandom

+0

file_get_contents和preg_match_all應該訣竅 – Geert

+0

解析圖像的遠程頁面:http://stackoverflow.com/questions/3577641/best-methods-to-parse-html/3577662#3577662 – Gordon

回答

3

沒有最快的的方式。 您無法減少網絡延遲。 您無法避免使用圖像來檢測其大小。其餘的操作已經成爲流程的一個微不足道的部分。

+0

經過研究,我認爲這是...如果你將在網站上使用JavaScript,你正在尋找圖像? –

+0

基於對更大問題領域的改進空間,我想這個答案太簡單了。 – Elliott

1

對方回答過於簡單,因爲你可以通過發送HEAD請求到服務器上下載之前得到的圖像尺寸降低整體網絡吞吐量 - 立即爲您節省幾乎所有的帶寬與大小< X圖像。

根據所涉及頁面的大小,用於提取圖像URL的字符串操作的選擇也很重要。 PHP完全適合它所需要的需求,但在一天結束時它仍然是一種適度緩慢的解釋型語言,我發現調用例行程序時有時會將明顯緩慢的大型子字符串移動。在這種情況下,即使使用簡單的庫,也可以完全解析它,但這種做法過於誇張。

我會去極限長度下載最低限度的圖像的原因是,一些這樣做的PHP方法是非常緩慢的。如果我使用copy()下載文件,然後使用原始套接字或cURL執行相同的操作,則copy()有時需要至少兩次。

所以選擇傳輸方法和選擇解析方法都有明顯的效果。

+0

感謝您的建議,巴特:) – Elliott