Python爬蟲——web前端基礎XPath、Json和HTTP

一、XPath

XPath簡介:

XPath 是一門在 XML 文檔中查找信息的語言。XPath 用於在 XML 文檔中通過元素和屬性進行導航,就好比windows中文件的路徑一樣。XPath 含有超過 100 個內建的函數。這些函數用於字符串值、數值、日期和時間比較、節點和 QName 處理、序列處理、邏輯值等等。XPath在爬蟲的應用中是分析網頁中的信息。

XPath節點:

在 XPath 中,有七種類型的節點:元素、屬性、文本、命名空間、處理指令、註釋以及文檔節點。學習python和c語言的,學過數據結構會更好的理解什麼是節點。各節點的關係就是父、子、兄弟、先輩、後代。

XPath語法:

XPath 使用路徑表達式來選取 XML 文檔中的節點或節點集。節點是通過沿着路徑 (path) 或者步 (steps) 來選取的。基本語法就是路徑表達式,如下:

路徑表達式

在節點集可以使用數組、表達式、通配符、多選符。

XPath軸:
軸就是說節點之間的關係。有下面12種。

 ancestor   選取當前節點的所有先輩(父、祖父等)。
 ancestor-or-self   選取當前節點的所有先輩(父、祖父等)以及當前節點本身。
 attribute  選取當前節點的所有屬性。
 child  選取當前節點的所有子元素。
 descendant 選取當前節點的所有後代元素(子、孫等)。
 descendant-or-self 選取當前節點的所有後代元素(子、孫等)以及當前節點本身。
 following  選取文檔中當前節點的結束標籤之後的所有節點。
 namespace  選取當前節點的所有命名空間節點。
 parent 選取當前節點的父節點。
 preceding  選取文檔中當前節點的開始標籤之前的所有節點。
 preceding-sibling  選取當前節點之前的所有同級節點。
 self   選取當前節點。

XPath運算符:

普通的有+、-、*、div、=、!=、<=、>=、>、<、or、and、mod
特別注意的是“|",是計算兩節點集。

二、Json

用於儲存和交換文本信息。
語法和Python的字典很像。

三、HTTP

http狀態碼:

當瀏覽者訪問一個網頁時,瀏覽者的瀏覽器會向網頁所在的服務器發出請求。瀏覽器接收請求後,會向瀏覽者回復一個狀態,也就是http狀態碼。

HTTP狀態碼詳解

一共分爲5類,按數字開關分類:1——信息,2——成功,3—— 重定向(需要進一步操作完成請求),4——客戶端錯誤,5——服務端錯誤。

http頭部信息:

http頭部信息由多個頭域組成,頭域格式:域名:域值。
GET:請求方式
Host頭哉:請求資源的Internet的主機和端口號
Use-agent:發出請求的用戶信息。可用來作反爬蟲
Accept:指定用戶接受哪些類型的信息
Accept-Language:指定一種自然語言。
Accept-Encoding:指定可接受的編碼方式
Connection:指定連接狀態是連續還是關閉的
If-Modified-Since:緩存頁面最後修改的時間。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章