dom函数python dom对象方法-成都快上网建站

dom函数python dom对象方法

python怎样将网页内容解析成DOM对象

可以使用Python自带的HTMLParser模块解析HTML文档:

创新互联从2013年成立,先为晋江等服务建站,晋江等地企业,进行企业商务咨询服务。为晋江企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

HTMLParser的核心模块是org.htmlparser.Parser类,这个类实际完成了对于HTML页面的分析工作。这个类有下面几个构造函数:

public Parser ();

public Parser (Lexer lexer, ParserFeedback fb);

public Parser (URLConnection connection, ParserFeedback fb) throws ParserException;

public Parser (String resource, ParserFeedback feedback) throws ParserException;

public Parser (String resource) throws ParserException;

public Parser (Lexer lexer);

public Parser (URLConnection connection) throws ParserException;

和一个静态类public static Parser createParser (String html, String charset);

python DOM有什么用

DOM介绍

(1)什么是DOM

·DOM:文档对象模型。DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构。目的其实就是为了能让js操作html元素而制定的一个规范。

·DOM就是由节点组成的。

相关推荐:《Python教程》

(2)解析过程

·HTML加载完毕,渲染引擎会在内存中把HTML文档,生成一个DOM树,getElementById是获取内中DOM上的元素节点。然后操作的时候修改的是该元素的属性。

·DOM树(一切都是节点)

DOM的数据结构如下:

上图可知,在HTML当中,一切都是节点:(非常重要)

·元素节点:HMTL标签。

·文本节点:标签中的文字(比如标签之间的空格、换行)

·属性节点::标签的属性。

整个html文档就是一个文档节点。所有的节点都是Object。

(3)DOM可以做什么

·找对象(元素节点)

·设置元素的属性值

·设置元素的样式

·动态创建和删除元素

·事件的触发响应:事件源、事件、事件的驱动程序

Python 操作 DOM(待更)

xml.etree.ElementTree 模块实现了一个简单高效的API,用于解析和创建XML数据。

XML是一种固有的分层数据格式,最自然的表示方法是使用树。 ET ( xml.etree.ElementTree ) 有两个类: ElementTree 将整个XML文档表示为一个树, Element 表示该树中的单个节点。与整个文档的交互(读写文件)通常在 ElementTree 级别完成。与单个XML元素及其子元素的交互是在 Element 级别完成的。

可以通过从文件中读取来导入此数据:

或直接从字符串中解析:

fromstring() 将XML从字符串直接解析为 Element ,该元素是已解析树的根元素。其他解析函数可能会创建一个 ElementTree 。更多信息请查阅文档。

作为 Element , root 具有标签和属性字典:

还有可以迭代的子节点:

子级是可以嵌套的,我们可以通过索引访问特定的子级节点:

Element 实例元素的长度是其子元素的数量。那意味着如果你要检查元素是否真的为空,则应同时检查它的长度和它的 text 属性。元素标签,属性名称和属性值可以是字节或字符串。

Element 是一个灵活的容器对象,旨在将分层数据结构存储在内存中。可以说是 list 和 dict 之间的交叉。每个元素都有许多与之关联的属性:

例如: tag attribtextchild/.../tagtail 。

要创建元素实例,请使用 Element 构造函数或 SubElement 工厂函数。您还可以使用 ElementTree 类包装元素结构,并将其与 XML 相互转换。

考虑到元素的可拓展性,最好使用 SubElement 工厂函数,来生成子元素。上面的子元素可以这样生成:


文章标题:dom函数python dom对象方法
文章路径:http://kswjz.com/article/hhgjis.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流