2012-05-01 69 views
0

我必須使用php curl來抓取this page。在這個用戶向下滾動的時候,使用ajax加載更多的項目。我可以調用ajax腳本正在調用的URL嗎?如果是這樣,那麼我如何確定URL?我知道一些Ajax,但代碼對我來說有點複雜。 這裏是相關的js代碼pastebin查找由ajax動作調用的URL

另外可以有人建議一個替代方法刮該頁? PS:我這樣做是爲了好的原因。

編輯:我想通了。 Live http頭文件。問題可以關閉。墮落爲遺忘。

+0

你的問題是有點混亂。您可以使用Firebug for Firefox等網絡模塊監控請求和發送到哪些URL。 Chrome內置了IE9,我認爲IE9也是如此。 – Armatus

回答

3

您可以使用FireBug。切換到控制檯選項卡,然後讓頁面發出AJAX請求。

這是滾動到頁面底部後,什麼應該看到:http://www.flipkart.com/computers/components/ram-20214?_l=m56QC%20tQahyMi46nTirnSA--&_r=11FxOYiYfpMxmANj4kGJzg--&_pop=flyout&response-type=json&inf-start=20

,如果你進一步滾動:http://www.flipkart.com/computers/components/ram-20214?_l=m56QC%20tQahyMi46nTirnSA--&_r=11FxOYiYfpMxmANj4kGJzg--&_pop=flyout&response-type=json&inf-start=40

令牌似乎始終保持不變:_l=m56QC%20tQahyMi46nTirnSA--_r=11FxOYiYfpMxmANj4kGJzg--,這樣做的_pop -parameter:_pop=flyout因此,讓我們來看看其他參數:

這一個是主頁:

//no additional parameters... 

這一個第一 '刷新':

&response-type=json&inf-start=20 

,這一次第二的 '刷新':

&response-type=json&inf-start=40 

所以,appearently你只需要追加&response-type=json&inf-start=$offset您最初的URI以JSON格式獲得結果。您還可以在FireBug中看到這些內容,這些內容可以很容易地使用它們。

以下是截圖:

enter image description here