為什麼我的 Beautiful Soup 程式碼會拋出 AttributeError: \'ResultSet\' 物件沒有屬性 \'find_all\'?

Mary-Kate Olsen
發布: 2024-11-26 14:01:13
原創
547 人瀏覽過

Why Does My Beautiful Soup Code Throw an AttributeError: 'ResultSet' object has no attribute 'find_all'?

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板