2011-02-06 86 views
0

當我們打開新的網頁時,我們正在下載圖像到我們的電腦。例如:如果網頁上有圖像(image.jpg),我們的電腦會在我們瀏覽該頁面時下載它。Curl preg_match

一些網頁正在使用ajax方法。例如:您在頁面的源代碼中看不到圖像,但是您的計算機下載圖像。因爲,如果你點擊頁面上的鏈接,AJAX將顯示出圖像......

讓我給個例子:

<div id="ajax_will_load_image_here"></div> 

好了,如何可以在PHP捲曲見(或下載)該圖像?嘗試使用preg_match函數時,Curl無法看到該圖像。其實有一個形象。我想通過使用php curl來下載該圖像。有什麼建議?

回答

0

如果我理解正確的問題沒有方便的方法做到這一點。

您的抓取工具/蜘蛛必須解析網站並評估JavaScript。

有一些庫,但支持是非常有限的。然而,有些方法使用實際的瀏覽器來蒸發頁面(不顯示它,但設置適當的環境變量,如分辨率等)。

然後生成的源包括javascript dom修改可用。

這是例如如何生成谷歌搜索預覽。

但是,如果您需要用戶交互,它會變得非常特殊和複雜。

我很抱歉讓你失望,但使用curl和preg metch舊時我們習以爲常的方式,當時javascript還沒有這麼常見就不會工作。

但是,對於大多數合法使用情況來說,這已經足夠了,今天的網站越來越多地被設計爲不符合JavaScript標準。尤其是用於抓取目的的內容。這是搜索引擎優化的必要條件,哪個網站不希望這樣做?