我正在瀏覽從網頁上刮取清單數據的教程,並且我們有一個名爲'soup'的BeautifulSoup對象,我應該從'soup'中找到所有元素,使它們在表中並且元素位於一些類,所以他們這樣做:什麼是python .get()方法在這種情況下正在做什麼?
> [t["class"] for t in soup.find_all("table") if t.get("class")]
,所以我不明白這裏兩件事情,什麼是t["class"]
在這裏做什麼,爲什麼,因爲如果是在爲什麼我們正確的應用條件不是我們乾脆寫t
首先需要做t["class"]
。
爲什麼我們在這種情況下使用.get()方法作爲布爾值,我的意思是它不會返回存儲在字典中的鍵的值嗎?
這是否意味着美麗的湯對象是一本字典?
因爲我們已經在做't [「class」]',它基本上是檢索標籤的'class'屬性,爲什麼我們最後需要使用'if t.get(「class」)'? – ash
對於沒有「class」屬性的標籤,'t ['class「]'會產生一個'KeyError' - 但是由於之前的條件被取消了,所以它保護我們免於此('t [」class「]將不會如果't.get(「class」)'返回一個falsy值,則執行)。請參閱Adam Smith的答案以獲得相同結果的替代方法。 –