当param=''时使用Beautiful Soup访问属性的参数

2024-07-03 01:29:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用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的值(如果只有一个),那么我可以使用以下方法:

^{pr2}$

但是,由于有多个period,而且我只对指定了checked的值感兴趣,所以我尝试了以下方法:

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

但是作为checked=''的值,它只是默认为遇到的第一个period。在

我该怎么解决这个问题

还有一个问题,如果我想得到period的值,但只针对指定了checked参数的字段,但作为checked=“”(我想这就是为什么)当我在attrs any advice中设置它时,它不起作用?在


Tags: 方法nameinputvaluehtmltypeattrsperiod
1条回答
网友
1楼 · 发布于 2024-07-03 01:29:13

我也遇到了类似的问题:

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

所以应该是:

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

相关问题 更多 >