在呼叫beautifulsoup模組中的find的函式時,由於需要指定tag中name的屬性,而與find函式的位置引數產生了衝突。
find函式原型如下:
find( name, attrs, recursive, text, **kwargs)
而需要呼叫它的**如下:
lt = soup_login.find( "input", name = 'lt' )
上面的**是為了找到name='lt'的input標籤,然而input的name屬性和find函式原型的第乙個位置引數產生了衝突,會報錯:
typeerror: select() got an unexpected keyword argument 'name'
在beautifulsoup的官方文件上面只講了部分與python關鍵字衝突的解決辦法,這種情況我沒找到。
不過,以上問題可以通過find函式中的attrs來解決,將以上**修改如下:
lt = soup_login.find( "input", attrs = )
執行後,能正確找出該input便簽。
ps:這種方法對於其他引起衝突的關鍵字也適用,直接將引起衝突的加入到attrs字典裡面即可
python關鍵字引數與可變引數
關鍵字引數可以傳入0或者多個引數名的引數,這些引數在函式定義中並沒有出現,這些引數在函式內部自動封裝整合乙個字典 dict 通常來講關鍵字引數是放在函式引數列表的最後,通過乙個demo 來看 def write msg id,kwargs msg for key,val in kwargs.item...
Python中關鍵字引數和命名關鍵字引數的區別
python中函式的引數有位置引數 預設引數 可變引數 命名關鍵字引數和關鍵字引數,這個順序也是定義函式時的必須順序。本文主要是講講命名關鍵字引數和關鍵字引數的區別 可變引數允許你傳入0個或任意個引數,這些可變引數在函式呼叫時自動組裝為乙個tuple。而關鍵字引數允許你傳入0個或任意個含引數名的引數...
Python引數之關鍵字引數
關鍵字引數允許我們在傳入必選引數外,還可以接受關鍵字引數kw def person name,age,kw prit name name,age age,other kw 這裡的name,age是必須的,kw可選,意味著第三個引數開始我們可以傳入任意個數的關鍵字引數 person bob 35,ci...