Beautiful Soup:造訪「ResultSet」物件上的「find_all」屬性時出現AttributeError
使用AttributeError
在使用中抓取版,必須了解您正在使用的物件類型。使用 BeautifulSoup.find_all() 時,請確保將其套用到正確的物件。import requests from bs4 import BeautifulSoup url = 'https://gist.githubusercontent.com/anonymous/c8eedd8bf41098a8940b/raw/c7e01a76d753f6e8700b54821e26ee5dde3199ab/gistfile1.txt' r = requests.get(url) soup = BeautifulSoup(r.text) table = soup.find_all(class_='dataframe')
考慮下面的程式碼片段:
在這個程式碼中,table 是一個 ResultSet 物件。 ResultSet 是一個類似清單的對象,包含多個 Tag 物件。要尋找每個 Tag 物件中的元素,您需要迭代 ResultSet 中的元素並對每個 Tag 物件呼叫 find_all()。... for row in table[0].find_all('tr'): col = row.find_all('td') ...
下面更正的程式碼示範了這一點:
總之,當您遇到AttributeError: 'ResultSet' object has no attribute 'find_all' 時,請驗證您是否在適當的物件類型上呼叫find_all()。在這種情況下,請記住迭代 ResultSet 並對每個 Tag 物件執行 find_all()。以上是為什麼我的 Beautiful Soup 程式碼會拋出 AttributeError: \'ResultSet\' 物件沒有屬性 \'find_all\'?的詳細內容。更多資訊請關注PHP中文網其他相關文章!