数据提取之特殊字符

数据提取之特殊字符

1.^

(1)在中括号内表示取反->> [^0-9a-zA-Z_]
(2)在中括号外表示以指定字符串开始->> ^a[a-z]

2.$

以……结尾->> [\w]+@[a-z0-9]+[.]com$

3.|

(1)中括号里面认为是单个字符->> [https|http|ftp]
(2)小括号里面认为是字符串 ->> (https|http|ftp)

4.贪婪模式

正则表达式尽可能多的匹配字符【默认为贪婪模式】

5.非贪婪模式

正则表达式尽可能少的匹配字符【?】

e.g:

text = \
"""
<tr class="pythons">
    <td class="a">python1</td>
    <td class="b">python2</td>
</tr>   
"""
result = re.match('\s<tr[\w\W]+>',text)
print(result.group()) 

以上正则表达式得到的结果:

<tr class="pythons">
    <td class="a">python1</td>
    <td class="b">python2</td>
</tr>

我们获取的数据应该是标签里的属性,不需要的内容;这时非贪婪模式就起了很大的作用,因此必须掌握:

text = \
"""
<tr class="pythons">
    <td class="a">python1</td>
    <td class="b">python2</td>
</tr>   
"""
result = re.match('\s<tr[\w\W]+?>',text)
print(result.group())

这样就得到了我们真正想要的数据:

<tr class="pythons">

综上,非贪婪模式在爬虫里必须掌握。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪宝儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值