前言:
而今你们对“正则表达式过滤html”可能比较重视,兄弟们都需要知道一些“正则表达式过滤html”的相关文章。那么小编也在网摘上收集了一些有关“正则表达式过滤html””的相关文章,希望咱们能喜欢,看官们一起来了解一下吧!在利用爬虫爬去数据的过程中,为了获取最精准的数据,必须对已经爬去到的字符串进行过滤,除了直接编写要过滤的字符串以外,还可以利用正则表达式,以最简化、最快速的方式找找需要的信息。
正则表达式是一个特殊的字符串序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。它首先设定好了一些特殊的字及字符组合,通过组合的“规则字符串”来对字符串进行过滤,从而获取或匹配我们想要的特定内容。它具有灵活、逻辑性和功能性非常的强,能迅速地通过表达式从字符串中找到所需信息的优点。
在Python中,我们可以利用"re"模块使用正则表达式的所有功能。
下面简单讲解一下“re”模块的使用:
re.compile():编译正则表达式模式,返回一个对象,不用再编译,效率变高。
re.findall():遍历匹配,可以获取字符串中所有匹配的字符串,返回一个列表。
re.split():按照能够匹配的子串将string分割后返回列表。
关于正则表达式的编写:是由多个特殊含义的字符组成的,下面列出部分字符含义:
如给出一些常用的表达式:
邮箱地址匹配:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$数字匹配:^[0-9]*$汉字:^[\u4e00-\u9fa5]{0,}$身份证号(15位、18位数字):^\d{15}|\d{18}$手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
各种匹配表达式同时也能够满足对网页数据分析的需求,在我们爬数据时,其实爬的就是网页源代码,如今日头条网页的部分HTML:
还有这样的
这些看似杂乱无章的HTML其实可以通过正则表达式的过滤,就可以简单的获取其中有用的信息。如这样:
所以,获取数据很简单,但如何从源数据中分析并找到自己想要的那一部分数据很困难。从下一章开始,我们开始讲爬虫的编写过程,大家相互学习吧。
关于正则表达式,功能实在强大,强大到需要讲很多很多的内容,而不是短短一小节就能讲完的,因此,我们需要在不断练习中去感悟其中的奥妙。大家可以私信我,分享相关的正则表达式指南哈。
标签: #正则表达式过滤html