<span class="currentPrice-3131760660"><span content="800.00">800,00 $</span>
我正在尝试自动提取价格(在这种情况下为800 $)。但是,随着时间的流逝,“ currentPrice-”之后的数字发生了变化,并且我的Python脚本停止工作。我正在使用此美丽汤功能:
soup.find_all('span', {'class' : 'currentPrice-3131760660'})
如何使用find_all提取类名称的部分匹配项,例如包含字符串“ currentPrice-”的所有类?
答案 0 :(得分:3)
根据docs,您有几种选择:
使用正则表达式:
soup.find_all('span', attrs={'class': re.compile('^currentPrice.*')})
使用功能:
soup.find_all('span',
attrs={'class': lambda e: e.startswith('currentPrice') if e else False})
答案 1 :(得分:1)
您可以尝试使用CSS选择器soup.select('span[class*="currentPrice-"]')