Beautiful Soup: 'ResultSet' オブジェクトの 'find_all' 属性にアクセスするときの AttributeError
Beautiful Soup を使用した Web スクレイピングでは、次のことを理解することが重要です作業しているオブジェクトのタイプ。 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 noattribute 'find_all' が発生した場合は、適切なオブジェクトに対して find_all() を呼び出していることを確認してください。 タイプ。この場合、ResultSet を反復処理し、各 Tag オブジェクトに対して find_all() を実行することを忘れないでください。
以上が私の美しいスープ コードが AttributeError をスローするのはなぜですか: \'ResultSet\' オブジェクトには属性 \'find_all\' がありません。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。