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

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

新規登録して質問してみよう
ただいま回答率
85.48%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Python

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

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

解決済

2回答

4588閲覧

スクレイピングにおけるエラー(TypeError: 'str' object is not callable)

sarusnnn

総合スコア1

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Python

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

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

0クリップ

投稿2021/08/01 06:01

編集2021/08/01 06:07

前提・実現したいこと

pythonでseleniumを用いて,abemaの番組タイトルの取得を行おうとコードを組んでいたところ,TypeError: 'str' object is not callableといったエラーが生じてしまいました。

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

TypeError: 'str' object is not callable

該当のソースコード

エラーが出た箇所は次の箇所です

python

1#タイトル 2 title=item.find_elements_by_xpath("div[1]/div/p/span/div/span") 3 if len(title): 4 print(str(cnt)+":"+title[0].text())

全体のコードは次のようになります

from typing import Container import urllib.request from selenium.webdriver.chrome.options import Options from selenium import webdriver from time import sleep, time options = Options() options.add_argument('--headless') driver = webdriver.Chrome('C:/Users/ユーザー名/Downloads/chromedriver_win32/chromedriver',chrome_options=options) driver.get('https://abema.tv/timetable') sleep(10) driver.find_element_by_xpath("//button[contains(text(),'19歳以下')]").click() driver.find_element_by_xpath("//button[contains(text(),'男性')]").click() driver.find_element_by_xpath("//button[contains(text(),'次へ')]").click() sleep(10) driver.find_element_by_class_name("com-genre-survey-GenreSurveyCard__text").click() driver.find_element_by_xpath("//button[contains(text(),'完了')]").click() sleep(10) category=driver.find_element_by_xpath("//a[@class='com-timetable-ChannelIconHeader__channel-link com-a-Link com-a-Link--dim']") img=category.find_elements_by_xpath("picture/img") if len(img): src=img[0].get_attribute('src') urllib.request.urlretrieve(src,"img.png") category.click() sleep(10) timetable=driver.find_elements_by_xpath("//div[@class='com-timetable-TimetableItem__wrapper']") cnt=0 for item in timetable: cnt+=1 #タイトル title=item.find_elements_by_xpath("div[1]/div/p/span/div/span")[0].get_attribute("innerHTML").text() if len(title): print(str(cnt)+":"+title)

試したこと

次のサイト(https://stackoverflow.com/questions/55488606/typeerror-str-object-is-not-callable-using-selenium-through-python)を参考にし

title=item.find_elements_by_xpath("div[1]/div/p/span/div/span")[0].text print(str(cnt)+":"+title)
title=item.find_elements_by_xpath("div[1]/div/p/span/div/span")[0].get_attribute("innerHTML").text() print(str(cnt)+":"+title)

等を行っても同じエラーが生じました

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

Python 3.9.5
selenium 3.141.0
ChromeDriver 92.0.4515.107

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

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

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

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

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

guest

回答2

0

質問者さんが「試したこと」の1つめ
title=item.find_elements_by_xpath("div[1]/div/p/span/div/span")[0].text
をしたらちゃんと表示されましたよ。何かコピペをミスってるんじゃないでしょうか?

1:NewsBAR橋下 ゲスト:東国原英夫【見逃し配信】 2:ABEMA NEWS 週末の夜更かしにニュース&スポーツ 3:ABEMA NEWS お出かけ前に最新ニュースをチェック 4:ABEMA NEWS すきま時間に最新ニュースをチェック 5:ABEMA NEWS 最新ニュース&注目会見を速報 6:テレメンタリー「民意偽造」 7:ABEMA NEWS 最新ニュース&注目会見を速報 8:ABEMA的ニュースショー 東京五輪 競技以外にも注目「競技じゃない方ニュース」 9:ABEMA NEWS 最新ニュース&注目会見を速報 10:ABEMA NEWS 最新ニュース&トレンド情報 11:NewsBAR橋下 ゲスト:東国原英夫【見逃し配信】 12:ABEMAPrime傑作選/ABEMA NEWS 13:ABEMA的ニュースショー 東京五輪 「競技じゃない方ニュース」/見逃し配信 14:ABEMA NEWS 最新ニュース&アベプラ傑作選 15:報ステWEEKLY 今週の「見逃せない」を一挙に【見逃し配信】 16:ABEMA NEWS お休み前に最新ニュース&動物癒し動画 17:熱闘!Mリーグ#123:にわか芸能人を天才KIDSが成敗!? 18:ABEMA NEWS 大学生キャスターニュース&エンタメ 19:ABEMA的ニュースショー 東京五輪 「競技じゃない方ニュース」/見逃し配信 20:ABEMA NEWS お出かけ前に最新ニュースをチェック 21:ABEMA Morning#アベモニ ニュース4本を1分で! 22:ABEMA NEWS 最新ニュース&注目会見を速報 23:9時の最新ニュース 「世界の今」が分かる特派員中継も/生放送 24:10時の最新ニュース ネットトレンドに衝撃動画も/生放送 25:11時の最新ニュース 速報&緊急生中継も最速で放送/生放送 26:ABEMAヒルズ #アベヒル でニュースのギモン募集中! 27:【ABEMAエンタメ】 最新の芸能・エンタメニュースを厳選! 28:14時の最新ニュース 取材記者が出演!深掘り解説ほか/生放送 29:15時の最新ニュース 衝撃動画ほか速報&緊急生中継も/生放送 30:16時の最新ニュース エンタメ情報、CNNライブ配信/生放送 31:17時の最新ニュース 午後のTwitterトレンドも/生放送 32:18時の最新ニュース 速報&緊急生中継も最速で放送/生放送 33:アベマ倍速ニュース VTRの速度も情報量も1.5倍に凝縮! 34:#アベプラ①変わる報道番組ABEMAPrimeカンニング竹山 35:#アベプラ②外来種や特定動物…なぜ危険な動物をペットにする? 36:【ABEMAエンタメ】 最新の芸能・エンタメニュースを厳選! 37:#アベプラ 変わる報道番組ABEMAPrime【見逃し配信】 38:ABEMA NEWS お出かけ前に最新ニュースをチェック 39:ABEMA Morning#アベモニ ニュース4本を1分で! 40:ABEMA NEWS 最新ニュース&注目会見を速報 41:9時の最新ニュース 速報&緊急生中継も最速で放送/生放送 42:10時の最新ニュース ネットトレンドに衝撃動画も/生放送 43:11時の最新ニュース 速報&緊急生中継も最速で放送/生放送 44:ABEMAヒルズ #アベヒル でニュースのギモン募集中! 45:【ABEMAエンタメ】 最新の芸能・エンタメニュースを厳選! 46:14時の最新ニュース 取材記者が出演!深掘り解説ほか/生放送 47:15時の最新ニュース 衝撃動画ほか速報&緊急生中継も/生放送 48:16時の最新ニュース エンタメ情報、CNNライブ配信/生放送 49:17時の最新ニュース 午後のTwitterトレンドも/生放送 50:18時の最新ニュース 速報&緊急生中継も最速で放送/生放送 51:アベマ倍速ニュース VTRの速度も情報量も1.5倍に凝縮! 52:#アベプラ①変わる報道番組ABEMAPrimeロンブー田村淳 53:#アベプラ②変わる報道番組ABEMAPrimeロンブー田村淳 54:【ABEMAエンタメ】 最新の芸能・エンタメニュースを厳選! 55:#アベプラ 変わる報道番組ABEMAPrime【見逃し配信】 56:ABEMA NEWS お出かけ前に最新ニュースをチェック 57:ABEMA Morning#アベモニ ニュース4本を1分で! 58:ABEMA NEWS 最新ニュース&注目会見を速報 59:9時の最新ニュース 「世界の今」が分かる特派員中継も/生放送 60:10時の最新ニュース ネットトレンドに衝撃動画も/生放送 61:11時の最新ニュース 速報&緊急生中継も最速で放送/生放送 62:ABEMAヒルズ #アベヒル でニュースのギモン募集中! 63:【ABEMAエンタメ】 最新の芸能・エンタメニュースを厳選! 64:14時の最新ニュース 取材記者が出演!深掘り解説ほか/生放送 65:15時の最新ニュース 衝撃動画ほか速報&緊急生中継も/生放送 66:16時の最新ニュース エンタメ情報、CNNライブ配信/生放送 67:17時の最新ニュース 午後のTwitterトレンドも/生放送 68:18時の最新ニュース 速報&緊急生中継も最速で放送/生放送 69:アベマ倍速ニュース VTRの速度も情報量も1.5倍に凝縮! 70:#アベプラ①変わる報道番組ABEMAPrimeAKB柏木由紀 71:#アベプラ②お金を学ぶって何?柏木由紀と考える金融リテラシー 72:【ABEMAエンタメ】 最新の芸能・エンタメニュースを厳選! 73:#アベプラ 変わる報道番組ABEMAPrime【見逃し配信】 74:ABEMA NEWS お出かけ前に最新ニュースをチェック 75:ABEMA Morning#アベモニ ニュース4本を1分で! 76:ABEMA NEWS 最新ニュース&注目会見を速報 77:9時の最新ニュース 速報&緊急生中継も最速で放送/生放送 78:10時の最新ニュース ネットトレンドに衝撃動画も/生放送 79:11時の最新ニュース 速報&緊急生中継も最速で放送/生放送 80:ABEMAヒルズ #アベヒル でニュースのギモン募集中! 81:【ABEMAエンタメ】 最新の芸能・エンタメニュースを厳選! 82:14時の最新ニュース 取材記者が出演!深掘り解説ほか/生放送 83:15時の最新ニュース 衝撃動画ほか速報&緊急生中継も/生放送 84:16時の最新ニュース エンタメ情報、CNNライブ配信/生放送 85:17時の最新ニュース 午後のTwitterトレンドも/生放送 86:18時の最新ニュース 速報&緊急生中継も最速で放送/生放送 87:アベマ倍速ニュース VTRの速度も情報量も1.5倍に凝縮! 88:#アベプラ①変わる報道番組ABEMAPrime EXIT 89:#アベプラ②若者のクルマ離れって悪いこと?自動車大国の未来図 90:【ABEMAエンタメ】 最新の芸能・エンタメニュースを厳選! 91:#アベプラ 変わる報道番組ABEMAPrime【見逃し配信】 92:ABEMA NEWS お出かけ前に最新ニュースをチェック 93:ABEMA Morning#アベモニ ニュース4本を1分で! 94:【ABEMAエンタメ】 最新の芸能・エンタメニュースを厳選! 95:「広島の日」特番 96:9時の最新ニュース 「世界の今」が分かる特派員中継も/生放送 97:10時の最新ニュース ネットトレンドに衝撃動画も/生放送 98:11時の最新ニュース 速報&緊急生中継も最速で放送/生放送 99:ABEMAヒルズ #アベヒル でニュースのギモン募集中! 100:【ABEMAエンタメ】 最新の芸能・エンタメニュースを厳選! 101:14時の最新ニュース 取材記者が出演!深掘り解説ほか/生放送 102:15時の最新ニュース 衝撃動画ほか速報&緊急生中継も/生放送 103:16時の最新ニュース エンタメ情報、CNNライブ配信/生放送 104:17時の最新ニュース 午後のTwitterトレンドも/生放送 105:18時の最新ニュース 速報&緊急生中継も最速で放送/生放送 106:アベマ倍速ニュース VTRの速度も情報量も1.5倍に凝縮! 107:ABEMAドキュメンタリー「悲劇の戦闘機“ゼロ戦”の真実」 108:アベマ倍速ニュース【見逃し配信】 109:#アベプラ①変わる報道番組ABEMAPrimeひろゆき 110:#アベプラ②JAPANに論破旋風が到来?ひろゆきごっこも増殖 111:【ABEMAエンタメ】 最新の芸能・エンタメニュースを厳選! 112:#アベプラ 変わる報道番組ABEMAPrime【見逃し配信】 113:ABEMA NEWS お出かけ前に最新ニュースをチェック 114:ABEMA NEWS すきま時間に最新ニュースをチェック 115:ABEMA NEWS 最新ニュース&トレンド情報 116:ABEMA NEWS 最新ニュース&注目会見を速報 117:「ABEMA GLOBE」朝日新聞とのコラボ企画 118:ABEMA NEWS 最新ニュース&注目会見を速報 119:ABEMA NEWS 最新ニュース&注目会見を速報 120:ABEMA NEWS 最新ニュース&トレンド情報 121:ABEMA NEWS 最新ニュース&注目会見を速報 122:NewsBAR橋下 ゲスト:たかまつなな 123:報ステWEEKLY 今週の「見逃せない」を一挙に 124:テレメンタリー ANN各局制作の厳選ドキュメンタリー 125:ABEMA NEWS お休み前に最新ニュース&エンタメ 126:NewsBAR橋下 ゲスト:たかまつなな【見逃し配信】 127:ABEMA NEWS 週末の夜更かしにニュース&スポーツ 128:ABEMA NEWS お出かけ前に最新ニュースをチェック 129:ABEMA NEWS すきま時間に最新ニュースをチェック 130:ABEMA NEWS 最新ニュース&注目会見を速報 131:テレメンタリー ANN各局制作の厳選ドキュメンタリー 132:ABEMA NEWS 最新ニュース&注目会見を速報 133:ABEMA的ニュースショー 1週間のNEWSをまさかの目線で 134:ABEMA NEWS 最新ニュース&注目会見を速報 135:ABEMA NEWS 最新ニュース&トレンド情報 136:NewsBAR橋下 ゲスト:たかまつなな【見逃し配信】 137:「ABEMA GLOBE」朝日新聞とのコラボ企画 138:ABEMA NEWS 最新ニュース&注目会見を速報 139:ABEMA的ニュースショー 1週間のNEWSをまさかの目線で 140:ABEMA NEWS 最新ニュース&アベプラ傑作選 141:報ステWEEKLY 今週の「見逃せない」を一挙に【見逃し配信】 142:ABEMA NEWS お休み前に最新ニュース&動物癒し動画

投稿2021/08/01 06:38

odataiki

総合スコア938

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

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

sarusnnn

2021/08/01 06:59

コピペのミスがあったようですご対応いただきありがとうございました
guest

0

ベストアンサー

ノードのテキストを取得するのは.text()じゃなくて.textです。
.textで既に文字列が取れているのでそれに括弧を付けて関数呼び出しを行おうとすると、"abc"()みたいなことになって、

TypeError: 'str' object is not callable

というエラーになります。

投稿2021/08/01 06:28

otn

総合スコア84555

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

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

sarusnnn

2021/08/01 07:00

ノードのテキストを取得に関する詳細な情報を教えていただきありがとうございました。無事解決いたしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問