爬蟲系列教程一:學習爬蟲前需要看的基本術語和知識

在學習定位網頁信息的之前,我們首先需要了解一下各個術語(這部分有很多是網頁的知識,寫爬蟲需要對網頁有較爲深刻的認識,所以我羅列了很多知識點,掛一漏萬,歡迎大家補充;當然急着寫爬蟲的讀者可以略去不讀,日後回看):

  • SGML/HTML/XML/XHTML
    • SGML的全稱是Standard Generalized Markup Language(標準通用標記語言);
    • HTML的全稱是Hyper Text Markup Language(超文本標記語言);
    • XML的全稱是Extensible Markup Language(可拓展標記語言);
    • XHTML是嚴格符合XML的HTML;
    • 三者在時間的順序是SGML\HTML\XML,三者在功能和複雜度上做了權衡,都屬於標記語言,後兩者可用於網頁;
  • DOM
    • DOM的全稱是Document object model(文檔對象模型);
    • 是一個可以用於操作結構化標準文檔\HTML\XML的結構、內容、風格的API,我們一般使用HTML DOM;
    • 它的本質是一個api接口文檔,提供了一個接口的規範;實現過程是先解析文檔,然後將文本組織成一個DOM樹結構,最後開放符合DOM文檔的api接口。
    • 一開始DOM在瀏覽器用js有實現,現在我們也可以自己實現dom;
  • SAX
    • SAX的全稱是Simple API for XML(用於處理XML事件驅動的推模型);
    • 概念和DOM平行,但是不是由W3C(World Wide Web Consortium )提出來的,而是民間自己討論出來的一種標準;
    • 它和DOM的區別是在於:DOM是將所有的xml讀入內存後一起建樹,相當於先掃描,後解析;而SAX的特點是邊掃描,邊解析;
  • XSL
    • XSL的全稱是EXtensible Stylesheet Language(擴展樣式表語言);
    • 是W3C制定的另一種表現XML文檔的樣式語言。XSL是XML的應用,符合XML的語法規範,可以被XML的分析器處理;
    • XSL的三個組成部分是XSLT\XPath\XSL-FO;XLST負責建樹,用XSL-FO分析並表現;
    • XSL負責html的樣式渲染工作,而CSS可以完成html、xml的樣式渲染,DSSSL負責SGML的渲染;
  • XSLT
    • XSLT的全稱是Extensible Stylesheet Language Transformations(可擴展樣式錶轉換語言);
    • 可以將XML數據檔轉換爲另外的XML或其它格式,如HTML網頁,純文字。是XML規範中的一部分。
  • Xpath
    • Xpath的全程是XML path language;
    • 是一個用於在xml文檔中查找信息的語言,同樣適用於html;XQuery和XPointer均建在xpath上;
    • Xpath最初是DOM裏面定位元素的方法;可以用xpath實現一個解析器;
  • XSL-FO
    • Xpath的全程是XSL Format object;
    • 用於格式化信息;
  • CSS
    • CSS的全稱是Cascading Style Sheets(層疊式樣式表);
    • 樣式表分爲轉換信息和格式化信息兩部分,在XSL中也有對應的概念;
  • 解析器
    • XML 解析器就是對DOM和SAX兩個規範的實現,例如:XML解析器將XML轉化爲XML DOM對象;通常瀏覽器會內置解析器;
    • 當然我們還有樣式表解析器;
    • Libxml2
      • Libxml2是一個C語言下的xml解析器;被用於Gnome項目。
    • Libxslt
      • Libxslt是一個C語言下的XSLT實現;被用於Gnome項目。
      • 內含樣式表解析器;
    • LXML
      • lxml是python的一個解析庫,支持HTML和XML的解析;使用了libxml\libxtls,而且解析效率非常高;且支持SAX風格的部分解析,也支持用戶自定義添加。
    • Xquery/Xpoint
      • 這兩個都是查詢語言,相應的解析器部分不知道怎麼實現的;
    • BeautifulSoup
      • bs4也是一個解析庫,支持HTML和XML的解析,支持4種解析器,
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章