Python爬虫之正则 & BeautifulSoup4解析HTML

本文介绍了Python爬虫在处理HTML时涉及的编码问题,包括字符编码历史、正则表达式和BeautifulSoup4库的使用。讲解了ASCII、Unicode、UTF-8以及Python中的编码概念,并提供了相关资源链接。
摘要由CSDN通过智能技术生成

目录:

1.前言

  • 事务管理类app的项目,需要后台导入某工学生的个人课表,选择用python抓取并解析HTML的方式
  • 如果习惯了实战一遍、优先解决问题,再去学习技术细节,那本文应该对你有所帮助,因为我就是这样干的
  • 本篇文章记录 解析HTML 获取课程内容的部分,知识点包括:
    • 编码演变的历史
    • 正则表达式
    • BeautifulSoup4库的使用
  • 登录系统并抓取HTML页面参见: python爬虫之urllib登录抓取HTML页面
  • GitHub下载地址:Python源码与解析的HTML文件

2.编码演变历史

为了弄清下面几个问题,需要对编码演变的历史做必要的介绍,更详细介绍可以在本文的参考资料中查看

  • 为什么UTF-8格式的代码,跨平台复制粘贴,有时会出现中文注释乱码,甚至没有中文代码也无法正常运行,在转成GB2312或者Unicode就搞定
  • 做正则匹配时,错误的编码格式会导致中文匹配失败
  • BeautifulSoup的构造函数应选择哪种编码

2.1 Charset & Character Encoding

  • 字符(Character):是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等
  • 字符集(Charset):是多个字符的集合,每个字符集包含字符个数不同,常见字符集有ASCII,GB2312,BIG5,Unicoede,UTF-8等
  • 字符编码(Character Encoding):为了让计算机能够识别和存储字符集所使用的法则,使字符集和数字系统建立对应关系
    下面按发展史简要介绍几种主要字符集及其编码

2.2 ASCII字符集与编码

  • ASCII字符集:包括控制字符(回车,换行等),可显示字符(英文字符,阿拉伯数字等)
  • ASCII编码:将ASCII字符集转换为计算机可存储计算的数的规则,
  • 特点:这是较早出现、现今最通用的单字节编码,即8 bits表示一个字符.举例,查ASCII码对照表知,a的ASCII码值为97(十进制),二进制表示为01100001(占用一字节)
  • 缺点:显然ASCII能显示的字符仅限于英语,扩展后的ASCII也只解决了部分西欧语言的显示,Macbook就放弃了ASCII而采用后面提到的Unicode
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值