BeautifulSoup4 获取输入 'value' 抛出一个好的代码错误?
BeautifulSoup4 get input 'value' throws an error with good code?
print [(element['name'], element['value']) for element in soup.find_all('input')]
我复制了这段代码来获取输入的值,但它抛出了这个错误:
File "messager.py", line 116, in main
print [(element['name'], element['value']) for element in soup.find_all('input')]
File "C:\PYTHON27\lib\site-packages\bs4\element.py", line 905, in __getitem__
return self.attrs[key]
KeyError: 'value'
如果我只提供 name
,就可以了。我尝试了其他几个版本,但它仍然给我相同的 value
键错误。只是好像没有 return value
。
无论哪种方式,如果我搜索所有 'inputs'(一个结果的示例),这就是完全 return 的内容:
<input id="Token" name="data[Token][key]" type="hidden" value="152a1f397548bfecbb09581670734bf0403bdf63"/>
所以它确实找到了 'inputs' 但它无法获取值。
关于为什么会发生这种情况有什么想法吗?
可能有 input
个元素没有设置 value
属性。
您可以让 find_all()
知道您只需要设置了 value
和 name
属性的输入:
soup.find_all("input", {"name": True, "value": True})
print [(element['name'], element['value']) for element in soup.find_all('input')]
我复制了这段代码来获取输入的值,但它抛出了这个错误:
File "messager.py", line 116, in main
print [(element['name'], element['value']) for element in soup.find_all('input')]
File "C:\PYTHON27\lib\site-packages\bs4\element.py", line 905, in __getitem__
return self.attrs[key]
KeyError: 'value'
如果我只提供 name
,就可以了。我尝试了其他几个版本,但它仍然给我相同的 value
键错误。只是好像没有 return value
。
无论哪种方式,如果我搜索所有 'inputs'(一个结果的示例),这就是完全 return 的内容:
<input id="Token" name="data[Token][key]" type="hidden" value="152a1f397548bfecbb09581670734bf0403bdf63"/>
所以它确实找到了 'inputs' 但它无法获取值。
关于为什么会发生这种情况有什么想法吗?
可能有 input
个元素没有设置 value
属性。
您可以让 find_all()
知道您只需要设置了 value
和 name
属性的输入:
soup.find_all("input", {"name": True, "value": True})