首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python网络爬虫:正则提取爬虫结果,教你如何使用正则表达式

我们在使用python进行网络爬虫获取到文本内容之后,需要对文本内容进行加工处理,匹配并提取出我们需要的内容。对于这样的需求,我们可以耐心的在python代码中逐个列出你想要匹配的字符串,这或许是个庞大而费时的任务。更好的一种方式,是采用正则表达式进行匹配我们使用python爬虫到的内容。

什么是正则表达式

正则表达式是刻画字符串特征的一段特殊的字符串。python中正则表达式可以对应一组字符串,正则表达式可以用有穷的规则去刻画无穷多个字符串。

python中正则表达式的语法

python中正则表达式由字符和操作符构成。下面是python中正则表达式常用的操作符:

python正则表达式

python正则表达式

然后我们可以看几个python正则表达式的例子匹配中文字符:[\u4e00-\u9fa5];匹配IP地址:(([1‐9]?\d|1\d|2[0‐4]\d|25[0‐5]).)([1‐9]?\d|1\d|2[0‐4]\d|25[0‐5])

还有更多的例子可以帮助理解python正则表达式的使用:

python正则表达式实例

在python中如何应用正则表达式

首先,在python中我们要导入python基本库re,像是这样import re。在python中正则表达式的表示有两种类型:raw string类型:如  r'\d' 表示匹配数字。string类型:如 '\\d' 表示匹配数字。

python中使用正则表达式有两种方式

如在字符串中匹配字符p或y,第一种使用方式:rst = re.search(r'[py]', 'python') ;第二种方式:pat = re.compile(r'[py]')  rst = pat.search('python') 。两种方式的结果完全一样,在同一匹配规则需要应用多次的时候,应用第二种方式更好

下图是在python中使用正则表达式的常用方法:

python中re常用方法

在python中使用正则表达式进行匹配的时候,要注意python中默认的匹配原则是贪婪匹配,即匹配符合正则表达式定义规则的最长的字符串。但是,有的时候我们希望执行最小匹配,此时,我们可以在那些长度输出可能不同的匹配规则中,在造成长度输出可能不同的操作符后增加“?”变成最小匹配。如在 “*”后加“?”变成“*?”实现最小匹配。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200604A0FQBB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券