正则表达式 – BeautifulSoup.find的返回值是多少?

前端之家收集整理的这篇文章主要介绍了正则表达式 – BeautifulSoup.find的返回值是多少?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我跑去获得一些分数值.

score = soup.find('div',attrs={'class' : 'summarycount'})

我运行’打印分数’得到如下.

<div class=\"summarycount\">524</div>

我需要提取数字部分.我使用了re模块但是失败了.

m = re.search("[^\d]+(\d+)",score)
TypeError: expected string or buffer

function search in re.py at line 142
return _compile(pattern,flags).search(string)

>查找功能的返回类型是什么?
>如何从得分变量中获取数字?
>有没有简单的方法让BeautifulSoup返回值(在本例中为524)本身?

解决方法

它返回一个对象,您可以使用该对象进行进一步搜索或使用score.contents提取内容

from BeautifulSoup import BeautifulSoup

str = r'''
    <body>
    <div class="summarycount">524</div>
    <div class="foo">111</div>
    </body>
'''

soup = BeautifulSoup(str)
score = soup.find('div',attrs={'class' : 'summarycount'})

print type(score)
print score.contents

打印:

<class 'BeautifulSoup.Tag'>
[u'524']

包含多个示例的完整文档是available here.

猜你在找的正则表达式相关文章