-1
我想要報廢Lulu webstore。我遇到以下問題。從JavaScript呈現的網站刮取數據
- 網站內容動態加載。
- 該網站試圖訪問時,重定向選擇國家頁面。
- 選擇國家後,它彈出選擇交貨地點,然後重定向到主頁。
- 當您嘗試以編程方式點擊結束頁面時,您會收到一個空的響應,因爲內容是動態加載的。
我有一個結束URL的列表,我必須從中抓取數據。例如,請考慮mobile accessories。現在我想
- 獲取該頁面直接,這是動態加載繞過選擇國家,選擇位置彈出窗口,這樣我就可以用我的Scrapy XPath選擇提取數據的HTML源代碼。
- 如果您建議我使用Selenium,PhantomJS,Ghost或其他來處理動態內容,請理解我在處理將發送給Scrapy的所有動態內容後,希望在Web瀏覽器中使用最終的HTML源代碼。
- 另外,我嘗試使用代理來跳過選擇國家彈出窗口,但仍然加載它並選擇交付地點。
- 我試過使用Splash,但是它返回了我選擇國家頁面的來源。
好的內容意味着AJAX調用。只需獲取請求的結構,然後使用產品的ID進行循環調用即可。通常你只需要'request'模塊,與'BeautifulSoup'結合使用。我猜也是一樣。 –
@Cal Eliacheff感謝您的評論,但你的方式問題是,即使我用cookie和用戶代理與web瀏覽器一樣提出請求,但我仍然得到相同的響應。我需要服務器和腳本之間的響應,它將處理這些動態內容並給出最終結果,以便我可以將它們饋送給scrapy。 – Mani
你應該更好地看待電話。該位置存儲在您從「SelectLocation.aspx」中獲得的cookie中。例如:'http://www.luluwebstore.com/SelectLocation.aspx?Location = 13241&DeliveryMode = H&ReturnUrl = http:// www.luluwebstore.com'允許您繞過國家選擇。它看起來像只有GET請求,通常使用更簡單。恕我直言,你不希望爲這類網站使用scrapy。 –