在soup.find()方法中传递变量 - Beautifulsoup Python

时间:2014-08-01 07:44:39

标签: python beautifulsoup

目前,我正在使用以下语法搜索元素:

priceele = soup.find(itemprop='price').string.strip()

实际上,该页面包含 <span> 元素,其属性名称itemprop的值为price。但是,我不需要查找 <span> 元素,因为只有一个元素具有属性itemprop

现在,我想要的是将itemprop='price'作为变量传递给soup.find()方法,因为我正在动态地从数据库加载这两件事。有可能吗?

1 个答案:

答案 0 :(得分:3)

如果通过“两件事”引用属性的名称和值,则可以使用**运算符应用任意关键字参数使其动态化。例如:

attrname = 'itemprop'
attrvalue = 'price'
search = {attrname: attrvalue}

priceele = soup.find(**search).string.strip()