《Python爬蟲開發與專案實戰》總結 第二章
大綱:
概念:
SGML: Standard Generalized Markup language,是一種定義電子文件結構和描述其內容的國際標準語言。
HTML: HyperText Markup Language,它通過標記符號來標記要顯示的網頁中的各個部分。
超文字:就是指頁面內可以包含圖片、連結,甚至音樂、程式等非文字元素。
XHTML: EXtensible HyperText Markup Language,是一種置標語言,表現方式與超文字標記語言(HTML)類似,不過語法上更加嚴格。
XML: Extensible Markup Language, 是一種用於標記電子檔案使其具有結構性的標記語言。
W3C標準:World WideWeb Consortium,有效促進了Web技術的互相相容,對網際網路技術的發展和應用起到了基礎性和根本性的支撐作用, 網頁主要由三部分組成:結構(Structure)、表現(Presentation)和行為(Behavior)。
HTTP協議:超文字傳輸協議(HTTP,HyperTextTransfer Protocol)是網際網路上應用最為廣泛的一種網路協議。提供一種釋出和接收HTML頁面的方法,
結構標準(Structure):文件排版結構。
表現標準(Presentation):外觀標準,顏色,字型……
行為標準(Behavior):給予web設計師和開發者一個標準的方法,讓他們來訪問他們站點中的資料、指令碼和表現層物件。
CSS:層疊樣式表(英文全稱:CascadingStyle Sheets)是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等檔案樣式的計算機語言。CSS不僅可以靜態地修飾網頁,還可以配合各種指令碼語言動態地對網頁各元素進行格式化。
Xpath:XPath即為XML路徑語言,它是一種用來確定XML(標準通用標記語言的子集)文件中某部分位置的語言。
JSON: JSON(JavaScript Object Notation, JS 物件標記) 是一種輕量級的資料交換格式。
JavaScript:JavaScript一種直譯式指令碼語言,是一種動態型別、弱型別、基於原型的語言,內建支援型別。
方法:
1.1HTML的基本結構
<html>內容</html> | HTML文件是由<html></html>包裹 |
<head>內容</head> | HTML檔案頭標記 |
<title>內容</title> | HTML檔案標題標記 |
<body>內容</body> | 是網頁的主題 |
<meta>內容</meta> | 頁面的元資訊 |
元資訊:比如針對收索引擎更新頻度的描述和關鍵詞。
1.2文件設定標記
文件設定標記分為格式標記和文字標記。
格式標記 | |
<br> | 強制換行標記 |
<p> | 換段落標記 |
<center> | 居中對齊標記 |
<pre> | 預格式化標記 |
<li> | 列表專案標記 |
<ul> | 無序列表標記 |
<ol> | 有序列表標記 |
<dl><dt><dd> | 定義型列表 |
<hr> | 水平分割線標記 |
<div> | 分割槽顯示標記 |
文字標記 | |
<hn> | 標題標記 |
<font> | 字型設定標記 |
<b> | 粗字型標記 |
<i> | 斜字型標記 |
<sub> | 文字下標字型標記 |
<sup> | 文字上標字型標記 |
<tt> | 印表機字型標記 |
<cite> | 引用方式的字型,通常是斜體 |
<em> | 表示強調,通常顯示為斜體 |
<strong> | 表示強調,通常顯示為粗體字 |
<small> | 小型字型標記 |
<big> | 大型字型標記 |
<u> | 下劃線字型標記 |
1.3影像標記
<img>稱為影像標記,用來在網頁幀顯示影像。
<img src=“路徑” width=“路徑” height=“路徑”>
src | 屬性用來指定我們要載入的圖片的路徑、圖片名稱和格式 |
width | 屬性用來指定圖片的寬度,單位為px、em、cm、mm |
height | 屬性用來指定圖片的高度,單位為px、em、cm、mm |
border | 屬性用來指定圖片的邊框寬度,單位為px、em、em、mm |
alt | 三個作用: 1. 對滑鼠顯示,圖片的屬性文字。 2. 影像沒有下載或者載入失敗,用文字來代替影像顯示。 3. 收索引擎可以通過這個屬性的文字來抓取圖片。 |
1.4超連結的使用
<a>用來標記超連結。
<a href=”連結地址” target=”開啟方式“ name=”頁面描點名稱“>
href | 屬性值是連結地址,連結地址是一個網頁、視訊、圖片 |
Target | 屬性用來定義超連結的開啟方式 |
Name | 屬性用來指定頁面的描點名稱 |
1.5表格
<table> | width | 表示表格的寬度 |
height | 表示表格的高度 | |
border | 表示表格外邊框的寬度 | |
align | 表示表格的顯示位置 | |
cellspacing | 單元格之間的間距 | |
cellpadding | 單元格內容與單元格邊框的顯示距離,單位為畫素 | |
frame | 控制表格邊框最外層的四條線框 | |
rules | 控制是否顯示以及如何顯示單元格之間的分割線 | |
<caption> |
| Top:表示標題放在表格上部 Botton:表示標題放在表格下部 Left:表示標題放在表格的左部 Right:表示標題放在表格的右部 |
<tr> | Bgcolor | 設定背景顏色 |
align | 設定垂直方向對齊方式 | |
valign | 設定水平方向對齊方式 | |
<td><th> | bgcolor | 設定單元格背景 |
align | 設定單元格對齊方式 | |
valign | 設定單元格垂直對齊方式 | |
width | 設定單元格寬度 | |
height | 設定單元格高度 | |
rowspan | 設定單元格所佔行數 | |
colspan | 設定單元格所佔列數 |
2.CSS
用來定義如何顯示HTML元素,一般和HTNL配合使用。
內聯樣式表 | CSS直接寫在HTML標記中,直接使用style屬性改變樣式 |
嵌入式樣式表 | CSS樣式程式碼寫在<style type=”text/css”></style>標記之間,一般下嵌入式CSS樣式寫在<head></head>之間 |
外部樣式表 | CSS寫一個單獨的外部檔案中,在<head>中使用<link>標記將CSS樣式檔案連結到HTML檔案中 |
CSS規則通常由選擇器和一條或多條宣告組成,選擇器通常是需要改變的HTML元素,屬性是希望設定的樣式屬性。
選擇器定義:
HTML標記定義 |
|
ID選擇器定義 | ID選擇器可以為標有特定ID的HTML元素指定特定的樣式 |
Class選擇器定義 | Class選擇器用於描述一組元素的樣式,class選擇器有別於ID選擇器,它可以在多個元素中使用 |
2.1顏色屬性
顏色名稱 | Color:green |
十六進位制 | Color:#ff6600 |
簡寫方式 | Color:#f60 |
RGB方式 | rgb(255,255,255) |
RGBA方式 | Color:rgba(255,255,255,1) |
2.2字型屬性
Font-size | 定義字型大小 |
Font-family | 定義字型 |
Font-weight | 定義字型加粗 |
2.3背景屬性
Background-color | 用來定義背景的顏色 |
Background-image | 用來定義背景圖片 |
Background-repeat | 用來定義背景重複方式 |
Background-position | 用來定義背景位置 |
Background簡寫 | 背景顏色url重複位置 |
2.4文字屬性
Text-align | 設定文字對齊方式,屬性值可以取left、center、right |
Line-height | 設定文字行高,屬性值可以取具體數值,來設定固定的行高值 |
Text-indent | 代表首行縮排 |
Letter-spacing | 用來設定字元間距 |
2.5列表
List-style-type | 指明列表項標記的型別 | |
None | 無標記 | |
Disc | 預設,標記是實心圓 | |
Circle | 標記是空心圓 | |
Square | 標記是實心方塊 | |
Decimal | 標記是數字 | |
Decimal-leading-zero | 0開頭的數字標記 | |
Lower-roman | 小寫的羅馬數字i,ii,iii,iv,v | |
Upper-alpha | 大寫的英文字母 | |
List-style-position | 用來指明列表項中標記的位置 | |
List-style-image | 用來設定影像列表標記 |
3.javascript
直接插入程式碼 | 在<script></script>標記中編寫程式碼 |
外部引用js檔案 | 把程式碼放到單獨的.js檔案中,然後通過<script src=‘目標檔案的URL’></script>方式來引入js檔案 |
3.1JavaScript基本語法
1)忽略空格
2)語句以;結束
3)使用{……}形成一個塊block,可以巢狀形成層級
4)註釋分為單行註釋和多行註釋
3.2資料型別和變數
Number型別 | 不區分整數和浮點,統一使用Number表示 |
字串型別 | 以單引號或雙引號括起來的任意文字 |
布林值型別 | 一個布林值只有true、false |
陣列型別 | 陣列是一組按順序排列的集合,集合的每個值稱為元素 |
物件型別 | 是一組由健值組成的無序集合 |
3.3運算子合操作符
類別 | 操作符 | 示例 |
算術操作符 | +、-、*、/、% |
|
字串操作符 | +(字串連線)、+=(字串連線複合) |
|
布林操作符 | !、&&、|| |
|
一元操作符 | ++、--、+(一元加)、-(一元減) |
|
關係比較操作符 | <、<=、>、>=、!=、==、===、!= |
|
按位操作符 | ~(按位非)、&(按位與)、|(按位或)、^(按位異或)、<<(有符號左移)、>>(有符號左移) |
|
賦值操作符 | =、複合賦值(+=、-=、*=、%=) 複合按位賦值(~=、&=、|=、^=、<<=、>>=、>>>=) |
|
物件操作符 | .(屬性訪問)、[](屬性或陣列訪問)、NEW(呼叫建構函式建立物件)、Delete(變數屬性刪除)、void(返回undefined)、In(判斷屬性)、instanceof(原型判斷) |
|
其他操作符 | ?:(條件操作符)、,(逗號操作符)、()(分組操作)、typeof(型別操作符) |
|
3.4條件判斷
If(){……}else{……}
3.5迴圈
For迴圈、一種是while迴圈
3.6函式
關鍵字function
4.1Xpath節點
七種型別的結點:元素、屬性、文字、名稱空間、處理指令、註釋、文件節點。樹的根被稱為文件節點或根節點。
節點關係:父(parent)、子(children)、同胞(sibling)、先輩(ancestor)、後代(descendant)
4.2Xpath語法
節點是沿著路徑(path)或者(steps)來選取的。
表示式 | 描述 |
Nodename | 選取此節點的所有子節點 |
/ | 從根節點選取 |
// | 選擇任意位置的某個節點 |
. | 選取當前節點 |
.. | 選取當前節點的父節點 |
@ | 選取屬性 |
節點選取示例
實現效果 | 路徑表示式 |
選取classroom元素的所有子節點 | Classroom |
選取根元素classroom | /classroom |
選取屬於classroom的子元素的所有student元素 | Classroom/student |
選取所有student子元素,而不管他們在文件中的位置 | //student |
選擇屬於classroom元素的後代的所有student元素,而不管它們位於classroom之下的什麼位置 | Classroom//student |
選取名為lang的所有屬性 | //@lang |
萬用字元“*”與“1”操作符
選取classroom元素的所有子元素 | /classroom/* |
選取文件中的所有元素 | //* |
選取所有帶有屬性的name元素 | //name[@*] |
選取student元素的所有name和age元素 | //student/name|//student/age |
選取屬於classroom元素的student元素的所有name元素,以及文件所有age元素 | /classroom/student/name | //age |
4.3Xpath軸
軸名稱 | 含義 |
child | 選取當前節點的所有子節點 |
parent | 選取當前節點的父節點 |
ancestor | 選取當前節點的所有先輩(父、祖父) |
ancestor-or-self | 選取當前節點的所有先輩以及當前節點本身 |
descendant | 選取當前節點的所有後代元素 |
Descendant-or-self | 選取當前節點的所有後代元素及當前節點本身 |
Preceding | 選取文件中當前節點的開始標記之前的所有節點 |
following | 選取文件中當前節點的結束標記之後的所有節點 |
Preceding-sibling | 選取當前節點之前的所有同級節點 |
Following-sibling | 選取當前節點之後的所有同級節點 |
self | 選取當前節點 |
attribute | 選取當前節點的所有屬性 |
namespace | 選取當前節點的所有名稱空間節點 |
4.4運算子
運算子 | 描述 | 例項 | 含義 |
| | 計算兩個節點集 | /student/name|//student/age | 選取所有student元素的所有name和age元素 |
+ | 加法 | /classroom/student[age=19+1] | 選取classroom元素的所有student元素,且其中的age元素的值須等於20 |
- | 減法 | /classroom/student[age=21-1] | 同上 |
* | 乘法 | /classroom/student[age=4*5] | 同上 |
div | 除法 | /classroom/student[age=40 div 2] | 同上 |
= | 等於 | /classroom/student[age=20] | 同上 |
!= | 不等於 | /classroom/student[age!=20] | .. |
< | 小於 | /classroom/student[age<20] | .. |
<= | 小於等於 | /classroom/student[age<=20] | .. |
> | 大於 | /classroom/student[age>20] | .. |
>= | 大於等於 | /classroom/student[age>=20] | .. |
or | 或 | /classroom/student[age<20 or age>25] | .. |
and | 與 | /classroom/student[age>20 or age<25] | .. |
mod | 計算除法的餘數 | 5 mode 2 | 1 |
5.1JSON
JSON名稱/值對 | 名稱/值對 |
JSON值 | 數字、字串…… |
JSON物件 | .. |
JSON陣列 | .. |
相關文章
- python爬蟲實操專案_Python爬蟲開發與專案實戰 1.6 小結Python爬蟲
- Python爬蟲開發與專案實戰pdfPython爬蟲
- Python爬蟲開發與專案實戰(2)Python爬蟲
- Python爬蟲開發與專案實戰(1)Python爬蟲
- Python爬蟲開發與專案實戰——基礎爬蟲分析Python爬蟲
- Python爬蟲開發與專案實戰 3: 初識爬蟲Python爬蟲
- Python爬蟲開發與專案實戰--分散式程式Python爬蟲分散式
- 不踩坑的Python爬蟲:Python爬蟲開發與專案實戰,從爬蟲入門 PythonPython爬蟲
- Python爬蟲開發與專案實戰 4: HTML解析大法Python爬蟲HTML
- python書籍推薦-Python爬蟲開發與專案實戰Python爬蟲
- Python爬蟲開發與專案實戰 2:Web前端基礎Python爬蟲Web前端
- Python爬蟲開發與專案實踐(3)Python爬蟲
- 視訊教程-Python網路爬蟲開發與專案實戰-PythonPython爬蟲
- Python大型網路爬蟲專案開發實戰(全套)Python爬蟲
- Python爬蟲開發與專案實戰 1:回顧Python程式設計Python爬蟲程式設計
- 爬蟲專案總結爬蟲
- 完整的python專案例項-《Python爬蟲開發與專案實戰》pdf完整版Python爬蟲
- python爬蟲-33個Python爬蟲專案實戰(推薦)Python爬蟲
- Python網路爬蟲實戰專案大全 32個Python爬蟲專案demoPython爬蟲
- python專案開發例項-Python專案案例開發從入門到實戰——爬蟲、遊戲Python爬蟲遊戲
- python爬蟲實戰教程-Python爬蟲開發實戰教程(微課版)Python爬蟲
- 爬蟲專案實戰(一)爬蟲
- 爬蟲實戰專案集合爬蟲
- 爬蟲實戰專案合集爬蟲
- python3網路爬蟲開發實戰_Python3 爬蟲實戰Python爬蟲
- Python網路爬蟲實戰小專案Python爬蟲
- Python網路爬蟲實戰專案大全!Python爬蟲
- Python開發爬蟲專案+程式碼Python爬蟲
- Java 爬蟲專案實戰之爬蟲簡介Java爬蟲
- Go語言專案實戰:併發爬蟲Go爬蟲
- 《python 爬蟲開發與實戰》html基礎詳解Python爬蟲HTML
- Python靜態網頁爬蟲專案實戰Python網頁爬蟲
- 《Python3網路爬蟲開發實戰》教程||爬蟲教程Python爬蟲
- Python 3網路爬蟲開發實戰Python爬蟲
- 精通 Python 網路爬蟲:核心技術、框架與專案實戰Python爬蟲框架
- python3網路爬蟲開發實戰_Python 3開發網路爬蟲(一)Python爬蟲
- Python爬蟲入門學習實戰專案(一)Python爬蟲
- [Python3網路爬蟲開發實戰] 分散式爬蟲原理Python爬蟲分散式