目前,我正在使用以下语法搜索元素:
priceele = soup.find(itemprop='price').string.strip()
实际上,该页面包含 <span>
元素,其属性名称itemprop
的值为price
。但是,我不需要查找 <span>
元素,因为只有一个元素具有属性itemprop
。
现在,我想要的是将itemprop='price'
作为变量传递给soup.find()
方法,因为我正在动态地从数据库加载这两件事。有可能吗?
答案 0 :(得分:3)
如果通过“两件事”引用属性的名称和值,则可以使用**
运算符应用任意关键字参数使其动态化。例如:
attrname = 'itemprop'
attrvalue = 'price'
search = {attrname: attrvalue}
priceele = soup.find(**search).string.strip()