添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85 . 37 %
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1 回答

419 閲覧

Pythonのwebスクレイピングにおいて、for文でテキストを取得するやり方を教えてください。

tyonmage12

総合スコア 5

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0 グッド

1 クリップ

投稿 2023/06/18 14:53

実現したいこと

ここに実現したいことを箇条書きで書いてください。

  • webスクレイピングにおいて、HTMLデータからテキストのみを取得する
  • ここに質問の内容を詳しく書いてください。
    webスクレイピングを勉強中なのですが、for文でデータを取得した際、HTMLデータからテキストの取得が出来ず、足踏みしております。
    テキストを取得するにはコードのどこを修正すれば良いでしょうか?

    for文で、取得したいHTMLデータは取れており、そこから後はテキストのみを抽出できれば良いのですが、テキスト取得のみ行うことが出来ません。
    for文を使用せず、一つ一つ取得するケースだと、テキストも問題なく取得できます。

    発生している問題・エラーメッセージ

    エラーメッセージ AttributeError: ResultSet object has no attribute 'text'. You're probably treating a list of elements like a single element. Did you call find_all() when you meant to call find()?

    該当のソースコード

    Python

    1import requests 2from bs4 import BeautifulSoup 4url = "https://dragons.jp/teamdata/mostrecord/record01.html" 5res = requests.get(url) 7soup = BeautifulSoup(res.text,"html.parser") 8trs = soup.find_all("tr") 9for tr in trs: 10 tr = tr.find_all("td") 11 print(tr.text)

    試したこと

    .textではなく、get_text()やgetText()など、インターネットから検索したやり方を一通り試しましたが、いづれも同じようなエラーが出てしまいます。

    補足情報(FW/ツールのバージョンなど)

    ここにより詳細な情報を記載してください。

    気になる質問をクリップする

    クリップした質問は、後からいつでもMYページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    バッドをするには、ログインかつ

    こちらの条件を満たす必要があります。

    meg_

    2023/06/18 15:45

    > テキストを取得するにはコードのどこを修正すれば良いでしょうか? エラーメッセージ内の「You're probably treating a list of elements like a single element.」がほぼ答えかと思いますが。
    guest