ホームページ > バックエンド開発 > Python チュートリアル > 私の美しいスープ コードが AttributeError をスローするのはなぜですか: \'ResultSet\' オブジェクトには属性 \'find_all\' がありません。

私の美しいスープ コードが AttributeError をスローするのはなぜですか: \'ResultSet\' オブジェクトには属性 \'find_all\' がありません。

Mary-Kate Olsen
リリース: 2024-11-26 14:01:13
オリジナル
620 人が閲覧しました

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

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート