第二章 編寫Spider

2021-08-14 17:33:58 字數 978 閱讀 1652

元件描述

型別engine

引擎,框架的核心,其他所有元件在其控制下協同工作

內部元件

scheduler

內部元件

**********

內部元件

spider

使用者實現

middleware

中介軟體,負責對request物件和response物件進行處理

可選元件

item pipeline

資料管道,負責對爬取到的資料進行處理

可選元件

spider是最核心的元件

item 是從頁面中爬取的一項資料

爬蟲執行順序:

1. 當spider 要爬取某url位址的頁面時,需要用該url構建乙個request物件,提交給engine(上圖中的1)

2. request物件隨後進入scheduler按某種演算法進行排隊,之後的某個時刻scheduler將其出隊,送往**********(上圖的2/3/4)

3. **********根據request物件中的url位址傳送一次http請求到**伺服器,之後用伺服器返回的http響應構造出乙個response物件,其中包含頁面的html文字(上圖的5)

4. response物件最終會被遞送給spider的頁面解析函式(構造request物件時指定)進行處理,頁面解析函式從頁面中提取資料,封裝成item後提交給engine, item之後被送往item pipelines 進行處理;最終可能由exporter以某種資料格式寫入檔案;另一方面,頁面解析函式還從頁面中提取鏈結(url),構造出新的request物件提交給

engine(上圖的6/7/8)

如果把框架中的元件比作人體的各個器官,request和response物件便是血液,item則是代謝產物

Oracle強化 第二章 編寫控制結構

1.寫乙個pl sql塊 向dept表中迴圈插入5條記錄,每一條記錄的deptno 值比表中最大的deptno 值增加1,dname分別為 education1 education2 education5 loc 值都為空.2.1到30之間,能被3整除的數列印出來 3.輸入4位整數,判斷是否是閏年 ...

MySQL第二章總結 Mysql第二章 儲存引擎

1 本章目標 儲存引擎 資料型別 重點 2 儲存引擎 在關係型資料庫中,資料儲存在表中,表由行和列組成。開發中,可能需要各種不同的表,有的表簡單,有的表複雜,有的表讀取快,有的讀取資料慢,有的表更新快等。根據對資料的不同的處理需求,使用不同的儲存引擎,可以將mysql資料庫的效能發揮到最大。查詢my...

領悟(第二章)

當火車緩緩駛進車站的時候,夜幕已經降臨了。終於到了!望著窗外鐵道兩旁的燈火,我的內心不禁再一次的激動起來,一路上對今後在這個大都市的未來生活的想象已經讓我從昨天晚上上車一直興奮到現在了!平常這個時候應該正和朋友們一起在酒吧聊天吧,朋友們,你們現在還在談論我來這裡的目的麼?說實話,這個問題連我自己都說...