瀏覽器的運(yùn)行原理
用戶界面
- 包括地址欄、后退/前進(jìn)按鈕、書簽?zāi)夸浀龋簿褪悄闼吹降某擞脕盹@示你所請求頁面的主窗口之外的其他部分
瀏覽器引擎
- 用來查詢及操作渲染引擎的接口
渲染引擎
- 用來顯示請求的內(nèi)容,例如晾咪,如果請求內(nèi)容為html,它負(fù)責(zé)解析html及css贮配,并將解析后的結(jié)果顯示出來
網(wǎng)絡(luò)
- 用來完成網(wǎng)絡(luò)調(diào)用谍倦,例如http請求,它具有平臺(tái)無關(guān)的接口泪勒,可以在不同平臺(tái)上工作
UI 后端
- 用來繪制類似組合選擇框及對(duì)話框等基本組件昼蛀,具有不特定于某個(gè)平臺(tái)的通用接口,底層使用操作系統(tǒng)的用戶接口
JS解釋器
- 用來解釋執(zhí)行JS代碼
數(shù)據(jù)存儲(chǔ)
- 屬于持久層圆存,瀏覽器需要在硬盤中保存類似cookie的各種數(shù)據(jù)叼旋,HTML5定義了web database技術(shù),這是一種輕量級(jí)完整的客戶端
網(wǎng)絡(luò)爬蟲
網(wǎng)絡(luò)爬蟲(又被稱為網(wǎng)頁蜘蛛沦辙,網(wǎng)絡(luò)機(jī)器人)夫植,是一種按照一定的規(guī)則,自動(dòng)的抓取萬維網(wǎng)信息的程序或者腳本油讯。另外一些不常使用的名字還有螞蟻详民,自動(dòng)索引,模擬程序或者蠕蟲撞羽。
網(wǎng)絡(luò)爬蟲是捜索引擎抓取系統(tǒng)的重要組成部分阐斜。爬蟲的主要目的是將互聯(lián)網(wǎng)上的網(wǎng)頁下載到本地形成一個(gè)或聯(lián)網(wǎng)內(nèi)容的鏡像備份
爬蟲的基本框架
在網(wǎng)絡(luò)爬蟲的系統(tǒng)框架中衫冻,主過程由控制器诀紊,解析器,資源庫三部分組成。
1.控制器的主要工作是負(fù)責(zé)給多線程中的各個(gè)爬蟲線程分配工作任務(wù)邻奠。
2.解析器的主要工作是下載網(wǎng)頁笤喳,進(jìn)行頁面的處理,主要是將一些JS腳本標(biāo)簽碌宴、CSS代碼內(nèi)容杀狡、空格字符、HTML標(biāo)簽等內(nèi)容處理掉贰镣,爬蟲的基本工作是由解析器完成呜象。
3.資源庫是用來存放下載到的網(wǎng)頁資源,一般都采用大型的數(shù)據(jù)庫存儲(chǔ)碑隆,如Oracle數(shù)據(jù)庫恭陡,并對(duì)其建立索引。