为了账号安全,请及时绑定邮箱和手机立即绑定

python爬虫程序中能否返回指定数量的匹配记录(re模块)

python爬虫程序中能否返回指定数量的匹配记录(re模块)

弑天下 2018-10-09 12:19:45
re.findall()返回的是所有匹配记录
查看完整描述

2 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

findall()返回的是一个列表,你需要对其中内容进行一步操作时,例如直接访问或写入数据库的时候,遍厉列表时用一个变量限制一下就行了。

还是我理解错了你的意思?


查看完整回答
反对 回复 2018-10-14
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

import re

 

p = re.compile(r'\d+')

print p.findall('one1two2three3four4')

print p.findall('one1two2three3four4')[0:2]

 

### output ###

# ['1', '2', '3', '4']

# ['1', '2']

你可以用切片操作返回来处理findall返回的结果来达到你的目的

or

import re                                                          


count = 0

# The end point number

endpoint = 2


p = re.compile(r'\d+')

for m in p.finditer('one1two2three3four4'):

    count += 1

    if count > endpoint: break

    print m.group()

    

### output ###

# 1 2


查看完整回答
反对 回复 2018-10-14
  • 2 回答
  • 0 关注
  • 1270 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信