我最近一直在使用美丽的汤 4,我一直在努力理解这方面的一些基础知识(出于某种原因,我对 bs3.x 非常满意)。因此,例如,让我们从做一些简单的事情开始,例如:
data=soup.find_all('h2')
这给我带来了类似的东西:
<h2><a href=\"/accurate-data/210-0023.prd?pageLevel=&skuId=210-0023\">more-accurate-data</a></h2>
这很好。但是当我想对上面的字符串进行正则表达式时,使用一些类似的东西(假设上面存储在“temp”中):
t=str(re.compile(r"""<h2><a href=\\"/accurate(.*?)\\">""").search(str(temp)).group(1))
我得到:
AttributeError: 'NoneType' object has no attribute 'group'
我觉得很奇怪 - 因为,当我在 python 解释器上做时,类似:
k=r"""<h2><a href=\"/accurate-data/210-0023.prd?pageLevel=&skuId=210-0023\">more-accurate-data</a></h2>"""
然后使用上面的正则表达式,一切正常。我想知道为什么 bs4 生成的“标签”类型似乎不可正则表达式。现在我觉得也许我在做一些愚蠢的事情,或者在我不知道的 bs3.x 和 bs4 之间发生了一些变化。对此的任何帮助将不胜感激。谢谢。