1

BeautifulSoup用来获取在 html 中设置的属性的值。

这是html:

<td align="center" bgcolor="white"><input name="period" type="radio" value="3"/></td>
<td align="center" bgcolor="white"><input checked="" name="period" type="radio" value="1"/></td>
<td align="center" bgcolor="white"><input name="period" type="radio" value="2"/></td>
<td align="center" bgcolor="white"><input name="period" type="radio" value="4"/></td>
<td align="center" bgcolor="white"><input name="period" type="radio" value="5"/></td>

我知道要获得 period 的值(如果只有一个),那么我可以使用以下内容:

period = soup.find(name="input", attrs={'name': 'period'})['value']

但是,由于不止一个period,而且我只对checked指定值的那个感兴趣,所以我尝试了这个:

period = soup.find(name="input", attrs={'checked':'', 'name': 'period'})['value']

但由于它的值checked=''只是默认为period它遇到的第一个。

我怎样才能解决这个问题

还有一个问题,如果我有并且我想获得 period 的值,但仅适用于指定检查参数的字段,但已检查 =“”(我假设这就是原因)当我在 attrs 中设置它时它不起作用任何建议?

4

1 回答 1

2

我遇到了类似的问题:

您需要更改'checked':'''checked':True

所以应该是:

period = soup.find(name="input", attrs={'checked':True, 'name': 'period'})['value']
于 2013-10-19T14:51:49.480 回答