Python 用于在HTML行中查找整数的正则表达式

Python 用于在HTML行中查找整数的正则表达式,python,regex,python-3.x,Python,Regex,Python 3.x,我试图从使用BeautifulSoup包提取的HTML代码行中提取整数值,但是我得到了以下错误消息,我不知道为什么 每个span标记检索时没有任何问题,如下所示: 标签2 我是否需要在正则表达式中实现任何更改,或者我的代码是否存在实际问题 我试图修改正则表达式,并删除numlist=list() […] 进口稀土 numlist=list() 总和=0 计数=0 [...] #检索所有跨度标记 标记=汤('span') 对于标记中的标记: 计数=计数+1 numlist=re.findall(

我试图从使用BeautifulSoup包提取的HTML代码行中提取整数值,但是我得到了以下错误消息,我不知道为什么

每个span标记检索时没有任何问题,如下所示:

标签2
我是否需要在正则表达式中实现任何更改,或者我的代码是否存在实际问题

我试图修改正则表达式,并删除numlist=list()

[…]
进口稀土
numlist=list()
总和=0
计数=0
[...]
#检索所有跨度标记
标记=汤('span')
对于标记中的标记:
计数=计数+1
numlist=re.findall(“([0-9]+)”,标记)
如果len(numlist)>0:
对于numlist中的项目:
总和=总和+整数(项目)
打印(“计数”,计数)
打印(“总计”,总计)
totalsum函数应该对找到的所有值求和,但我在命令提示中收到以下错误消息:

Traceback (most recent call last):
  File "assignment1week4.py", line 23, in <module>
    numlist = re.findall('([0-9]+)', tag)
  File "C:\Users\konst\AppData\Local\Programs\Python\Python37-32\lib\re.py", line 223, in findall
    return _compile(pattern, flags).findall(string)
TypeError: expected string or bytes-like object
回溯(最近一次呼叫最后一次):
文件“assignment1week4.py”,第23行,在
numlist=re.findall(“([0-9]+)”,标记)
文件“C:\Users\konst\AppData\Local\Programs\Python\Python37-32\lib\re.py”,第223行,在findall中
返回编译(模式、标志).findall(字符串)
TypeError:应为字符串或类似字节的对象

这似乎是一个代码问题。您得到一个
类型错误
,它告诉您需要将字符串传递到
re.findall
。我们知道
”([0-9]+)“
是一个字符串,所以它必须是
标记,而不是。IIRC,使用BeautifulSoup查找类型的所有标记将返回表示HTML标记的对象数组,而不是字符串列表


有一些关于获取字符串文本的信息,但是如果您不想查看所有内容,可以归结为使用
.text
属性,例如
numlist=re.findall(“([0-9]+”,tag.text)

出于您自己的考虑,不要这样做。使用HTML语法你说你已经使用了beautifulsoup,那么为什么不用它来提取数字呢?DeepSpace,我在做一门课程的作业。这里仅使用BeautifulSoup作为html解析器:``url=input('Enter-')html=urllib.request.urlopen(url,context=ctx.read()=soup=BeautifulSoup(html,'html.parser')``但是我不知道如何提取实际整数来计算提取行的和