我試圖建立機制,將掃描網站在給定的URL,並獲取所有圖像。目前我使用的是simple_html_dom,它是slow。快速的方式來從網站獲取圖像的大小> x
從localhost
掃描一個網站正在花費大約30秒 - 1分鐘。
我需要做的是:
- 負載的URL。
- 掃描圖像(如果其可能具有特定尺寸x>寬度)
- 打印它們。
我在尋找最快的的方法。
我試圖建立機制,將掃描網站在給定的URL,並獲取所有圖像。目前我使用的是simple_html_dom,它是slow。快速的方式來從網站獲取圖像的大小> x
從localhost
掃描一個網站正在花費大約30秒 - 1分鐘。
我需要做的是:
我在尋找最快的的方法。
沒有最快的的方式。 您無法減少網絡延遲。 您無法避免使用圖像來檢測其大小。其餘的操作已經成爲流程的一個微不足道的部分。
經過研究,我認爲這是...如果你將在網站上使用JavaScript,你正在尋找圖像? –
基於對更大問題領域的改進空間,我想這個答案太簡單了。 – Elliott
對方回答過於簡單,因爲你可以通過發送HEAD
請求到服務器上下載之前得到的圖像尺寸降低整體網絡吞吐量 - 立即爲您節省幾乎所有的帶寬與大小< X圖像。
根據所涉及頁面的大小,用於提取圖像URL的字符串操作的選擇也很重要。 PHP完全適合它所需要的需求,但在一天結束時它仍然是一種適度緩慢的解釋型語言,我發現調用例行程序時有時會將明顯緩慢的大型子字符串移動。在這種情況下,即使使用簡單的庫,也可以完全解析它,但這種做法過於誇張。
我會去極限長度下載最低限度的圖像的原因是,一些這樣做的PHP方法是非常緩慢的。如果我使用copy()
下載文件,然後使用原始套接字或cURL執行相同的操作,則copy()
有時需要至少兩次。
所以選擇傳輸方法和選擇解析方法都有明顯的效果。
感謝您的建議,巴特:) – Elliott
這是一個不平凡的任務,你有幾乎最快的方式。那麼,無論如何,這是PHP中最快的方式。 – DaveRandom
file_get_contents和preg_match_all應該訣竅 – Geert
解析圖像的遠程頁面:http://stackoverflow.com/questions/3577641/best-methods-to-parse-html/3577662#3577662 – Gordon