我正在使用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 = soup.find(name="input", attrs={'name': 'period'})['value']
然而,因为有多个period
并且我只对指定值checked
的那个感兴趣,所以我尝试了这个:
period = soup.find(name="input", attrs={'checked':'', 'name': 'period'})['value']
但是,checked=''
的值只是默认为它遇到的第一个period
。
如何解决此问题
还有一个问题,如果我有,我想获得期间的值,但仅限于指定参数检查的字段但是作为checked =“”(我假设这就是为什么)它在我设置时不起作用有什么建议吗?
答案 0 :(得分:2)
我遇到了类似的问题:
您需要将'checked':''
更改为'checked':True
所以它应该是:
period = soup.find(name="input", attrs={'checked':True, 'name': 'period'})['value']