HTMLParser是Python自带的模块,使用简单,能够很容易的实现HTML文件的分析。
本文主要简单讲一下HTMLParser的用法.
使用时需要定义一个从类HTMLParser继承的类,重定义函数:
-
handle_starttag( tag, attrs)
-
handle_startendtag( tag, attrs)
-
handle_endtag( tag)
来实现自己需要的功能。
tag是的html标签,attrs是 (属性,值)元组(tuple)的列表(list).
HTMLParser自动将tag和attrs都转为小写。
下面给出的例子抽取了html中的所有链接:
from HTMLParser import HTMLParser
class MyHTMLParser(HTMLParser):
def __init__(self):
HTMLParser.__init__(self)
self.links = []
def handle_starttag(self, tag, attrs):
#print "Encountered the beginning of a %s tag" % tag
if tag == "a":
if len(attrs) == 0: pass
else:
for (variable, value) in attrs:
if variable == "href":
self.links.append(value)
if __name__ == "__main__":
html_code = """
<a href="www.google.com"> google.com</a>
<A Href="www.pythonclub.org"> PythonClub </a>
<A HREF = "www.sina.com.cn"> Sina </a>
"""
hp = MyHTMLParser()
hp.feed(html_code)
hp.close()
print(hp.links)
输出为:
['www.google.com', 'www.pythonclub.org', 'www.sina.com.cn']
如果想抽取图形链接
<img src='http://www.google.com/intl/zh-CN_ALL/images/logo.gif' />
就要重定义 handle_startendtag( tag, attrs) 函数
分享到:
相关推荐
HTMLParser是Python中用于解析HTML文档的一个库,它允许开发者以事件驱动的方式处理HTML文档的结构。这个库特别适用于从不规范的HTML源码中提取数据,因为网页内容的格式可能会因各种原因而不尽完美。在本例中,我们...
`HTMLParser`不支持XPath或CSS,但它可以通过自定义事件处理函数来解析HTML并执行特定的操作。以下是一个基本示例: ```python from html.parser import HTMLParser class MyHTMLParser(HTMLParser): def handle_...
HTMLParser是一个用于解析HTML文档的库,尤其在处理非结构化或不标准的HTML时非常有用。这个库可能被用于从网页中提取数据,比如在爬虫项目中,或者进行自动化测试时解析页面内容。本篇文章将深入探讨HTMLParser的...
总结来说,使用HTMLParser解析网页涉及到以下步骤: 1. 继承`HTMLParser`并重写相关方法以定义解析逻辑。 2. 找到文章内容所在的标签,如`<p>`或`<article>`,并在适当的方法中处理它们。 3. 收集文章文本,并在适当...
HTMLParser是用于解析HTML文档的一种工具或库,尤其在网络爬虫技术中扮演着关键角色。网络爬虫,也称为网络蜘蛛或Web抓取器,是一种自动浏览互联网并收集信息的程序。它广泛应用于搜索引擎优化、数据分析、市场研究...
Pug使用缩进表示元素层级,用函数和变量来插入动态内容。例如,一个简单的HTML段落在Pug中可能写成`p My paragraph.` **Jinja2** Jinja2是Python中的一个模板引擎,广泛应用于Flask和Django等Web框架。它提供了丰富...
综上所述,Python解析URL涉及使用`urllib`或`requests`库获取网页内容,然后利用`BeautifulSoup`、`lxml`或自定义的`HTMLParser`类解析HTML,提取所需信息。`BaseHTMLProcessor.py`、`dialect.py`和`MyHTMLParser.py...
HTMLParser是一种用于解析HTML文档的工具,特别适用于从Web网页中提取有用的信息。它能够有效地识别和解析HTML标签,帮助开发者从复杂的网页结构中抽取特定的数据。在实际应用中,HTMLParser不仅能够处理标准的HTML...
HTMLParser是一个用于解析HTML文档的库,它在编程领域中扮演着重要的角色,尤其是在处理网页内容和数据抓取时。这个库提供了API,允许开发者解析HTML文档,提取所需信息,或者对HTML进行修改。以下是对HTMLParser库...
HTMLparser是Python内置的一个解析HTML和XML文档的模块,它为处理HTML或XML文档提供了基本的事件驱动的解析器。这个模块主要用于从不规范的HTML文档中提取数据,因为网络上的HTML文档往往不完全符合标准,所以需要一...
在使用HTMLParser时,首先需要从指定的源下载HTMLParser的jar文件,如`http://HTMLParser.sourceforge.net/`,并将该jar添加到项目的类路径中。接着,通过创建`Parser`对象并传入HTML文本或URL,即可启动解析过程。...
8. 不同的HTML解析库:介绍不同编程语言中的HTML解析库,比如Python的BeautifulSoup,Java的Jsoup等,以及它们的特点和使用方法。 通过这个课程,学习者将能够熟练掌握HTML解析技术,理解其背后的逻辑,并能有效地...
HTMLParser是Python中一个用于解析HTML和XML文档的库,它允许我们以编程的方式处理网页的源代码,从中获取我们需要的信息。 首先,我们要理解HTML(HyperText Markup Language)是构成网页的基本语言,包含了各种...
BeautifulSoup是一个用于解析HTML和XML文档的Python库,它通过创建一个解析树来表示整个文档结构,使得我们可以方便地遍历和搜索这个树,从而提取所需内容。例如,你可以通过元素的tag名、class属性或者ID来找到特定...
Python 提供了多种工具和技术来处理 HTML 和 XML 文档,其中 `HTMLParser` 是一个轻量级且易于使用的解析库。本文将详细介绍 `HTMLParser` 的基本原理及其在网页解析中的应用。 #### 一、HTMLParser 模块简介 `...
`lxml`是Python中一个强大的XML和HTML处理库,它结合了C语言的`libxml2`和`libxslt`库,提供了高速、高效的XML和HTML解析、生成以及XPath、XSLT的支持。在Python生态中,lxml因其出色的性能和丰富的功能而被广泛使用...
接着是`HtmlParser.py`,这是解析HTML文档的关键部分。Python提供了多个库用于HTML解析,如BeautifulSoup和lxml。在这个项目中,这个模块可能使用这些库解析从网页下载的HTML内容,提取出我们需要的百度百科词条的...
- **HTMLParser**:一个简单的HTML解析器,可能用于处理和解析HTML文档。 - **sklearn**:即scikit-learn的另一个名字,可能是一个较旧的版本。 - **PySide2** 和 **scipy** 的不同版本:提供了对不同Python版本的...