1. 程式人生 > >Scrapy+Splash爬取京東python書本資訊(遇到的問題記錄)

Scrapy+Splash爬取京東python書本資訊(遇到的問題記錄)

今天用splash進行京東的圖書的爬蟲。有了以下幾點的錯誤總結:

(1)按照參考書上的方式,寫好lua_script檔案。但是自己在lua_script檔案後面加了幾個中文註釋,結果執行時一直出錯,後來意識到了問題,將這些中文註釋給刪除了,這時候才沒有提示剛剛出現的錯誤。

(2)後來在執行lua_script檔案總是提示我的javascript檔案出錯,一直百思不得其解。其實自己剛開始按照書上的提示在網路監聽中輸入同樣的jQuery語言時,也會出現提示的錯誤,這個問題我沒有解決。後來在程式的執行中,不知道是不是因為網路的緣故,再次在網路監聽的Console中輸入同樣的jQuery語言時,已經不提示任何的錯誤資訊了。我在jQuery中執行的語句是:document.getElementsByClassName('page')[0].scrollIntoView(true)

這句話的目的是,將頁面下拉到後面,因為是爬取京東的書籍,而書籍是通過下拉的方式加載出後半部分的,所以通過執行該語句加載出全部的書籍。剛開始出現的錯誤,在後面執行該語句時又沒有問題了,而且執行python程式碼也能夠將書本的基本資訊爬取下來,具體是什麼問題我也不知道,可能真的是網路的奧祕吧。

(3)後面在爬取的過程中也有問題存在,主要的問題還是,使用下拉方式觸發資料的載入有時會失敗,即有時候通過lua_script程式碼中的執行載入不能成功。這個問題暫時還不知道是什麼願意,難道又是因為網路的問題???,希望有誰能告訴我啊。。。。

(4)在儲存資料時,發現了資料不是按照網頁上的順序進行儲存的,而是亂序儲存的,這個問題我上網查找了相關的答案,有解釋比較通的就是因為scrapy是多執行緒爬蟲,所以爬下來一般都是亂的。可以在爬取後,單獨對json檔案裡的資料重新排序的。

(5)最後總結:任重而道遠啊,一步步踏實的走下去,遇到問題真的是很痛苦,但是解決問題也會很開心。其中還有很多很多未知的問題等著自己去發掘。菜鳥記錄,大神看到了如果略知一二,不吝賜教。