2016-12-28 70 views
0

我想放棄的大型在線市場網站,有它。我對AJAX頁面想將其設置在一個CentOS VPS會間歇性地獲得該網站上的數據,使我的戰略我的產品供應。Python Scrapy:使用Selenium還是模擬XHR請求會更好?

我是新來的Python和scrapy在這種情況下刮。我已經通過一些網站閱讀了一些關於AJAx組件的信息,並將其廢棄。

方法1. scrapy與硒的相互作用。我在我的vps上安裝整個安裝程序,我不知道這是否可行。硒需要GUI瀏覽器運行嗎?然而,這將是一個很好的設置,它可以快速更改,以防萬一網頁入口將來發生變化。

方法2對於scrapy以模擬XHR請求。在XHR電話會議上有一些研究要做。但是,處理速度會更快,但如果網站將來發生更改,需要更多時間才能進行調整。

任何幫助appreaciated。

+0

XHR請求與任何其他請求相同。此外,佈局比XHR響應更有可能發生變化。所以是的,用chrome加載頁面,打開網絡選項卡找出哪個網址有數據並使用它。 – pguardiario

回答

1

複製XHR,AJAX或任何其他類型的請求總是會比採用類似Selenium密集多次更快,顯著較少的資源。

然而,爲了獲得最大表現出來的這一點,你需要複製,反向工程手工所有請求。有些網站可能只有幾個請求才能填充您在頁面上尋找的產品數據。
在這個問題上,使用某些東西來呈現JavaScript而不是反向設計網站所有的XHR或類似請求確實有意義。

有一個相當不錯的工具,設計用於稱爲splash,這是一種呈現網頁瀏覽器的網頁服務(它使用qt網頁瀏覽器來做到這一點)。這將是一種懶惰的方法,它也將大幅超越硒,但仍然落後於在scrapy中重寫請求的動手方法。

+0

感謝Granitosaurus的洞察力。 – dhermanus