Python beautifulsoup-获取输入值

Python beautifulsoup-获取输入值,python,beautifulsoup,Python,Beautifulsoup,我有很多这样的表格行: <tr> <td>100</td> <td>200</td> <td><input type="radio" value="123599"></td> </tr> cells[2].find('input')['value'] 错误: File "./script.py", line XX, in <module> id =

我有很多这样的表格行:

<tr>
    <td>100</td>
    <td>200</td>
    <td><input type="radio" value="123599"></td>
</tr>
cells[2].find('input')['value']
错误:

File "./script.py", line XX, in <module>
id = cells[2].input['value']
TypeError: 'NoneType' object has no attribute '__getitem__'
文件“/script.py”,第XX行,在
id=单元格[2]。输入['value']
TypeError:“非类型”对象没有属性“\uuuu getitem\uuuu”
如何获取输入值?我不想使用regexp。

您想在单元格内查找元素,因此应在单元格上使用find/find\u all,如下所示:

<tr>
    <td>100</td>
    <td>200</td>
    <td><input type="radio" value="123599"></td>
</tr>
cells[2].find('input')['value']

单元格[2]。输入与单元格[2]等效。使用行查找('input'),而不是单元格[2]给出相同的错误。无法搜索单元格[2],因为它是一个列表。看起来至少有一行的第三个单元格中没有输入标记。请提供整个标记,或者捕获错误并让它打印该行。BeautifulSoup是出了名的脆弱。最好使用lxml或lxml.html。@Will:你说得对,我很怀念。有一行没有输入标记。非常感谢。非常适合基于其他唯一属性识别标记,例如
soup.find('input',{'name':'abc')).get('value')
如果没有
id
,比如