返回顶部
首页 > 资讯 > 后端开发 > Python >Python 用HTMLParser解析
  • 407
分享到

Python 用HTMLParser解析

PythonHTMLParser 2023-01-31 05:01:41 407人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

htmlParser是python自带的模块,使用简单,能够很容易的实现HTML文件的分析。 本文主要简单讲一下HTMLParser的用法. 使用时需要定义一个从类HTMLParser继承的类,重定义函数: handle_

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='/file/imgs/upload/202301/31/j1st2cyfnb5.jpg' />

就要重定义 handle_startendtag( tag, attrs) 函数

--结束END--

本文标题: Python 用HTMLParser解析

本文链接: https://lsjlt.com/news/188308.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python 用HTMLParser解析
    HTMLParser是Python自带的模块,使用简单,能够很容易的实现HTML文件的分析。 本文主要简单讲一下HTMLParser的用法. 使用时需要定义一个从类HTMLParser继承的类,重定义函数: handle_...
    99+
    2023-01-31
    Python HTMLParser
  • 如何使用HttpClient和HtmlParser实现简易爬虫
    这篇文章给大家分享的是有关如何使用HttpClient和HtmlParser实现简易爬虫的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   HttpClient 简介   H...
    99+
    2024-04-02
  • 【Python】np.clip()用法解析
    【Python】np.clip()用法解析 文章目录 【Python】np.clip()用法解析1. 介绍2. API3. 举例4. 参考 1. 介绍 np.clip()是一个截取函数...
    99+
    2023-10-04
    python numpy 开发语言
  • 用python解析html[SGMLPa
    因为要用python做学校网络的认证程序,需要解析服务器传回的html,本以为会像javascript里操作DOM那样简单,结果发现并不是 这样,被搞了一下。 其实python里面有xml.dom模块,但是这次却不能用,为啥呢?因为服务器传...
    99+
    2023-01-31
    python html SGMLPa
  • 利用python来解析html
    引子使用python来进行抓取网页的时候,可以使用HTMLParser来解析html文档,本次就看看这个玩意怎么用实战源码获取方法请看视频地址:http://v.youku.com/v_show/id_XMzEyMzA0MTM5Mg==.h...
    99+
    2023-01-31
    python html
  • Python中torch.norm()用法解析
    目录1. 介绍1.1 p-范数1.2 Frobenius 范数1.3 核范数2. API3. 示例1. 介绍 torch.norm()是对输入的tensor求对应的范数。tensor...
    99+
    2023-03-08
    Python torch.norm()
  • python munch库的使用解析
    目录1. 安装方法2. 简单示例3. 兼容字典的所有操作4. 设置返回默认值5. 工厂函数自动创建key6. 序列化的支持字典是 Python 中基础的数据结构之一,字典的使用,可以说是非常的简单粗暴,但即便是这样一...
    99+
    2022-06-02
    python munch munch库的使用
  • 怎么使用Python解析JSON
    这篇文章主要介绍“怎么使用Python解析JSON”,在日常操作中,相信很多人在怎么使用Python解析JSON问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Python解析JSON”的疑惑有所帮助!...
    99+
    2023-06-22
  • Python 之解析
    Python 之列表/字典/集合解析 通过对列表/字典/集合每一个元素应用一个函数的方法将一个列表映射到另一个列表/字典/集合 准备知识 os (operating system) 模块 os.getcwd() ...
    99+
    2023-01-31
    Python
  • Python 解析XML
    Python中对两种解析方式的解释: The Python standard library provides a minimal but useful set of interfaces to work with XML. The t...
    99+
    2023-01-31
    Python XML
  • Python XML解析
    Python XML解析----http://www.w3cschool.cn/python/python-xml.htmlPython中使用ElementTree对XML文件进行解析----http://www.jianshu.com/p...
    99+
    2023-01-31
    Python XML
  • python使用protobufde的过程解析
    概念 Protobuf(Google Protocol Buffers)是google开发的的一套用于数据存储,网络通信时用于协议编解码的工具库.它和XML和Json数据差不多,把数据已某种形式保存起来.Protob...
    99+
    2022-06-02
    python使用protobuf python protobuf
  • 解析Python中while true的使用
    无限循环 如果条件判断语句永远为 true,循环将会无限的执行下去,如下实例: #!/usr/bin/python # -*- coding: UTF-8 -*- var = 1 while var...
    99+
    2022-06-04
    Python true
  • python xlwt模块的使用解析
    目录一、基础类介绍1、工作簿类Workbook简介:2、工作表类WorkSheet简介3、创建一个不带样式的基础Excel表二、xlwt高级应用1、字体类Font简介1.1创建一个改...
    99+
    2024-04-02
  • python常用的几种GUI解析
    在Python中,开始使用GUI编程的步骤并不复杂,但是它们要求用户开始做出一些选择。作为通用编程语言,每个常见操作系统都有可用的解释器,所以创建图形用户界面对于Python来说并不是难事。程序员可以有很多的选择,真正困难的是如何为用户创建...
    99+
    2023-01-31
    几种 常用 python
  • python解析http request
    如果通过抓包工具抓到一个raw http request,想要解析它,可以使用如下方法。 编写一个继承自python内置基类BaseHTTPRequestHandler的类,代码如下: from BaseHTTPServer import...
    99+
    2023-01-31
    python http request
  • 【python】13、解析式
    1、解析式是什么?为什么要用解析式?对一个list里所有的数值求平方In [123]: lst = list(range(6)) In [124]: ret = [] In [125]: for i in lst:      ...: ...
    99+
    2023-01-31
    python
  • python日志解析
    Python字典的setdefault()方法 setdefault(key[, default]) If key is in the dictionary, return its value. If not, insert ke...
    99+
    2023-01-31
    日志 python
  • 【Python爬虫】数据解析之bs4解析和xpath解析
    🔥一个人走得远了,就会忘记自己为了什么而出发,希望你可以不忘初心,不要随波逐流,一直走下去🎶 🦋 欢迎关注🖱点赞👍收...
    99+
    2023-09-06
    python 爬虫 开发语言
  • Python 文档解析lxml库的使用详解
    目录1.lxml库简介2.lxml库方法介绍3.代码实例1.lxml库简介 lxml 是 Python 常用的文档解析库,能够高效地解析 HTML/XML 文档,常用于 Python...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作