- 實戰(zhàn)Python網(wǎng)絡(luò)爬蟲
- 黃永祥
- 589字
- 2019-11-22 18:44:33
2.5 JavaScript
JavaScript是一種直譯式腳本語言,是一種動態(tài)類型、弱類型、基于原型的語言,內(nèi)置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,最早是在HTML網(wǎng)頁上使用的,用來給HTML網(wǎng)頁增加動態(tài)功能。
JavaScript腳本語言同其他語言一樣,有自身的基本數(shù)據(jù)類型、表達(dá)式和算術(shù)運(yùn)算符及程序的基本框架。JavaScript提供了4種基本的數(shù)據(jù)類型和兩種特殊的數(shù)據(jù)類型用來處理數(shù)據(jù)和文字。而變量提供存放信息的地方,表達(dá)式則可以完成較復(fù)雜的信息處理。
有時候分析網(wǎng)站需要理解某些JavaScript的功能,如某些特殊的數(shù)據(jù)會存放在JavaScript中。以12306全國站點為例,如圖2-2所示。

圖2-2 12306站點信息
從圖2-2中可以看到,不同的站點有對應(yīng)的英文字母,代表站點的編碼信息,JavaScript存儲數(shù)據(jù)主要使用變量的形式。
JavaScript還能根據(jù)用戶觸發(fā)某些事件對用戶的操作進(jìn)行加工處理。例如用戶登錄信息設(shè)置加密處理,原理是先對用戶提交的信息做加密處理,然后發(fā)送請求到服務(wù)器,這一系列事件由JavaScript獨(dú)立完成。要用爬蟲實現(xiàn)該功能,就要分析JavaScript如何執(zhí)行整個用戶登錄過程。
下面通過分析一個簡單的例子,來進(jìn)一步了解JavaScript事件的觸發(fā)原理:

JavaScript事件的觸發(fā)過程:
(1)HTML根據(jù)〈form〉〈/form〉標(biāo)簽相應(yīng)地生成一個表單。
(2)當(dāng)用戶在表單輸入內(nèi)容后,單擊提交按鈕,就會觸發(fā)〈form〉〈/form〉表單里所指向的validateForm()方法,執(zhí)行相應(yīng)的JavaScript代碼。
(3)validateForm()會判斷輸入的值是否為空。如果輸入的值為空,就提示輸入名字;若輸入的值不為空,則提示“提交成功”。
- Learning Neo4j
- Mastering Visual Studio 2017
- 數(shù)據(jù)結(jié)構(gòu)(Java語言描述)
- 數(shù)據(jù)結(jié)構(gòu)(Python語言描述)(第2版)
- Java游戲服務(wù)器架構(gòu)實戰(zhàn)
- Python深度學(xué)習(xí)原理、算法與案例
- Learning Modular Java Programming
- 平面設(shè)計經(jīng)典案例教程:CorelDRAW X6
- 計算機(jī)應(yīng)用基礎(chǔ)(第二版)
- OpenCV Android開發(fā)實戰(zhàn)
- AutoCAD基礎(chǔ)教程
- Node.js實戰(zhàn):分布式系統(tǒng)中的后端服務(wù)開發(fā)
- Java Web動態(tài)網(wǎng)站開發(fā)(第2版·微課版)
- Python數(shù)據(jù)預(yù)處理技術(shù)與實踐
- Learning NHibernate 4