python - 当参数为 ='' 时,使用 Beautiful Soup 访问属性参数

标签 python html beautifulsoup

我正在使用 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']

但是,由于有多个句点,并且我只对指定了值checked的句点感兴趣,所以我尝试了以下操作:

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

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

如何解决这个问题

还有一个问题,如果我有并且我想获取周期的值,但仅限于指定了已检查参数的字段,但已检查为“”(我假设这就是原因),当我将其设置为attrs有什么建议吗?

最佳答案

我遇到了类似的问题:

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

所以应该是:

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

关于python - 当参数为 ='' 时,使用 Beautiful Soup 访问属性参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19467151/

相关文章:

python - 为什么我们需要 __init__ 来初始化一个 python 类

python - 统一码错误 : URL contains non-ASCII characters (Python 2. 7)

python - 我的脚本无法从网页获取食品店的名称

python - 为什么 postgresql 不立即开始返回行?

python - 如何使用 matplotlib 模块 pyplot 在 x/y 标签中放置变量

html - CSS 到 php 表结果

jquery - WP 主题中的背景图像 slider - 父元素不透明度隐藏内容

html - div 不会向左移动或响应定位

python - 查找表格内的所有链接

python - PyCharm控制台如何导入自己的模块