2015-11-08 55 views
1

我有以下Python 2.7.10代碼RequestsBeautifulSoup4爲什麼Beautifulsoup不會按名稱找到這個輸入?

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線的格式是否正確......

回答

2

當您通過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"}) 
+0

謝謝!我也需要獲得它的價值,但是在你提供的工作線之後加入'['value']'。 – GShocked

相關問題