爬虫系列教程一:学习爬虫前需要看的基本术语和知识

在学习定位网页信息的之前,我们首先需要了解一下各个术语(这部分有很多是网页的知识,写爬虫需要对网页有较为深刻的认识,所以我罗列了很多知识点,挂一漏万,欢迎大家补充;当然急着写爬虫的读者可以略去不读,日后回看):

  • 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种解析器,
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章