​爬虫前的小准备-----re 正则表达式

我们来整理一下爬虫所用到的一些重点

推荐一个小网站,可以进行练手

在线正则表达式测试icon-default.png?t=M276https://tool.oschina.net/regex/



元字符

1 “  .  ”匹配除换行符以外的任意字符,未来在python的re模块中是一个坑.

2 \d 匹配数字

3 ^匹配字符串的开始

4 $匹配字符串的结尾

5 a l b匹配字符α或字符h

6 () 匹配括号内的表达式,也表示一个组

量词:控制前面元字符出现的次数

 

其实比较重要的是惰性匹配(前后离他最近的,用到了回溯算法)


1. 贪婪匹配(  后离他最远的)

 

 2. 惰性匹配(找最近的,相当于(【字】.*?【字】),只要符合这种的,会被找到

                                前后离他最近的,用到了回溯算法(常用)

 

 


import re
message = """<a><div>中国移动</div><div>10086</div></a>
             <a><div>中国联通</div><div>10010</div></a>
"""

obj = re.compile(r'<div>(?P<name>.*)</div><div>(?P<id>\d+)</div>')
# result = obj.findall(message)  # 返回一个列表   findall
# print(result)
result = obj.finditer(message) # 预加载可以减少内存消耗
print(result)  # 返回一个迭代器  (若要显示(数据)有个分组标记)# (?P<名字>正则)
for item in result:
    # print(item)
    print(item.group("name"))
    print(item.group("id"))

之后会在resquests之后讲一下案例

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值