find函数的参数

时间:2010-05-20 19:29:08

标签: python find beautifulsoup

我正在使用美丽的汤(在Python中)。我有这样隐藏的输入对象:

<input type="hidden" name="form_build_id" id="form-531f740522f8c290ead9b88f3da026d2" value="form-531f740522f8c290ead9b88f3da026d2"  />

我需要id / value。

这是我的代码:

mainPageData = cookieOpener.open('http://page.com').read()
soupHandler = BeautifulSoup(mainPageData)

areaId = soupHandler.find('input', name='form_build_id', type='hidden')

TypeError: find() got multiple values for keyword argument 'name'

我尝试更改代码:

print soupHandler.find(name='form_build_id', type='hidden')
None

怎么了?

1 个答案:

答案 0 :(得分:26)

尝试使用alternative attrs keyword

areaId = soupHandler.find('input', attrs={'name':'form_build_id', 'type':'hidden'})
  

您不能使用关键字参数   叫名字,因为美丽的汤   搜索方法已经定义了一个名称   论点。你也不能使用Python   作为关键字的保留字   参数。

     

美丽的汤提供了一个特殊的   你可以称之为attrs的论点   在这些情况下使用。 attrs是一个   像这样的字典   关键字参数。