在多页表格中查找页数

时间:2019-02-11 06:38:21

标签: python html regex

我正在尝试提取多页表格URL中的页面数

HTML=<span style="float:right">Page 1 of 63,917</span>

需要提取63917。

我用过

soup = bsoup(r.text)
pages=re.findall(r"Page 1 of\s(.+)<\/span>", str(soup))
print(pages)

但是print(pages)会返回很多HTML,直到正文结束为止

##'63,917</span></div><table class="table table-striped##

为什么我的正则表达式不起作用?以及如何从HTML响应中仅提取#?

1 个答案:

答案 0 :(得分:1)

您的正则表达式不起作用,因为您在分组括号(.+)中使用了贪婪捕获。 .+的编写方式与Page 1 of\s之后的所有内容(直到文档中最后一个</span>标记)都匹配。您需要通过在?之后添加+来使用non-greedy捕获,如下所示:

Page 1 of\s(.+?)<\/span>