[PYTHON]Scrapy學習筆記(一)思路與待解決的問題

 

 

                                                                  Scrapy框架架構圖(圖片來自網絡)

簡要概括:

把整個Scrapy框架比喻成一個古代部隊。

1.引擎:指揮官,部隊的所有動向均需要向指揮官彙報,指揮官負責協調各個單位、部門的運作;

2.調度器:可以看成隊列,給同一單位的士兵編號,決定衝鋒順序;

3.下載器:部隊前鋒;

4.爬蟲:部隊主力;

5.管道工廠:後勤,收拾戰場;

思路:

1.爬取數據分爲三個階段,第一個階段是獲取到每一區塊總體數據量

2.爬取數據量較大,必須支持斷點續爬。對每個待爬取的數據打上標識,標識分爲(0:待爬取;2:重複數據;7:進入隊列;8:已爬取;9:已入庫)

需要解決的問題:

1.此項目爬蟲基本是通過POST方法獲取AJAX異步請求的JSON數據,因此需要改寫默認START_REQUESTS方法;

2.請求量較大,必須使用IP代理池,而且IP代理池是需求自動維護更新的;

3.某些字段值太長,甚至超過4000,注意,不建議使用LONG類型,因爲LONG類型意味着此字段你幾乎不能在數據庫中操作;

4.併發可控;

5.加入隊列或者爬取到數據後需要更改數據庫中狀態,爲避免多線程交叉改變數據狀態,必須攜帶唯一值(FID);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章