実現したいこと
ここに実現したいことを箇条書きで書いてください。
- 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 3 4url = "https://dragons.jp/teamdata/mostrecord/record01.html" 5res = requests.get(url) 6 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) 12 13
試したこと
.textではなく、get_text()やgetText()など、インターネットから検索したやり方を一通り試しましたが、いづれも同じようなエラーが出てしまいます。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー