2016-08-08 327 views
2

有什麼區別?不要他們做同樣的事情 - 找到具有給定屬性的內部標籤?BeautifulSoup的區別findAll和findChildren

+1

孩子鉤住什麼標籤包含並返回一個屬tor - find_all查找給定標籤的所有實例並返回一個列表。 – n1c9

+0

@ n1c9看起來好像是錯的。 – parsecer

回答

1

findChildren返回的resultSet就像find_all沒有,沒有任何區別在使用這兩種方法作爲findChildren實際上是find_all,如果你看一下鏈接的來源,你可以看到:

findChildren = find_all # BS2 

它的存在向後兼容性是findAll = find_all # BS3

+0

那麼爲什麼要用不同的名字來完成同樣的功能呢?我是否正確地假設在實際中我們有三個(!)相同的函數,它們返回完全相同的結果(ResultSet - 找到的標記列表),它們具有相同的行數和元素 - 「findAll」,「findChildren」和「find_all」 ? – parsecer

+1

@parsecer,*向後兼容性*,如果我有bs2代碼,我將只有'findChildren',如果我有bs3代碼,我只會有'findAll'。 –

+0

所以當有bs2時,只有'findChildren'(並且沒有'findAll'或'find_all'),接下來的bs版本出現了,並且有'findAll = findChildren'(沒有'find_all','findChildren'未觸及),現在我們有bs4,其中find_all = findAll = findChildren(爲了兼容性,findAll和findChildren保持不變)。是對的嗎? – parsecer

相關問題