为什么 Beautifulsoup 不按名称找到此输入?
Why doesn't Beautifulsoup find this input by name?
我有以下 Python 2.7.10
代码 Requests
和 BeautifulSoup4
:
print soup
RequestVerificationToken = soup.find(name="__RequestVerificationToken")
print RequestVerificationToken
print soup
打印我试图从中获取信息的网页。在输出中,打印的 HTML 包括以下内容:
<input name="__RequestVerificationToken" type="hidden" value="awbVKuhEwngnc6s6DYPxa0_paAaxyiSus_Gxx2KvZUdQjAAX5bx-icMZyIJJXiVjLniFz8t1YWrrehVZUWj2tGcgA6I1"/>
然而,RequestVerificationToken
打印为 None
。
我只想知道我的 soup.find
行格式是否正确...
当您将 name
作为参数传递时 - 它被解释为标签的 名称 而 BeautifulSoup
将搜索 __RequestVerificationToken
元素代替。下面是 find()
方法的样子(第一个命名参数是 name
):
def find(self, name=None, attrs={}, recursive=True, text=None,
**kwargs):
"""Return only the first child of this Tag matching the given
criteria."""
r = None
l = self.find_all(name, attrs, recursive, text, 1, **kwargs)
if l:
r = l[0]
return r
相反,请检查 name
内的 attrs
属性:
soup.find(attrs={"name": "__RequestVerificationToken"})
我有以下 Python 2.7.10
代码 Requests
和 BeautifulSoup4
:
print soup
RequestVerificationToken = soup.find(name="__RequestVerificationToken")
print RequestVerificationToken
print soup
打印我试图从中获取信息的网页。在输出中,打印的 HTML 包括以下内容:
<input name="__RequestVerificationToken" type="hidden" value="awbVKuhEwngnc6s6DYPxa0_paAaxyiSus_Gxx2KvZUdQjAAX5bx-icMZyIJJXiVjLniFz8t1YWrrehVZUWj2tGcgA6I1"/>
然而,RequestVerificationToken
打印为 None
。
我只想知道我的 soup.find
行格式是否正确...
当您将 name
作为参数传递时 - 它被解释为标签的 名称 而 BeautifulSoup
将搜索 __RequestVerificationToken
元素代替。下面是 find()
方法的样子(第一个命名参数是 name
):
def find(self, name=None, attrs={}, recursive=True, text=None,
**kwargs):
"""Return only the first child of this Tag matching the given
criteria."""
r = None
l = self.find_all(name, attrs, recursive, text, 1, **kwargs)
if l:
r = l[0]
return r
相反,请检查 name
内的 attrs
属性:
soup.find(attrs={"name": "__RequestVerificationToken"})