2017-04-13 376 views

回答

1

這些項目是通過AJAX請求生成的。當你連接到一個頁面時,會執行一個JavaScript腳本,它會發出一些額外的http請求來檢索一些json數據。然而,scrapy不會執行任何JavaScript,因此您需要手動查找並調用這些AJAX請求。

查看相關問題:Can scrapy be used to scrape dynamic content from websites that are using AJAX?,看看如何檢查網絡流量並解決此類情況。

在這種特殊情況下,你可以看到正在取得第一xhr請求返回一個極大的JSON文件的所有項目的數據:

http://bananarepublic.gap.com/resources/productSearch/v1/search?cid=1055063&isFacetsEnabled=true&globalShippingCountryCode=&globalShippingCurrencyCode=&locale=en_US&

正如你所看到的網址需要一些參數,最重要的它需要cid它代表類別ID和其他參數大多用於計算出貨價格,所以如果你不關心那些該作品一樣好:

http://bananarepublic.gap.com/resources/productSearch/v1/search?cid=1055063