質問するログイン新規登録
スクレイピング

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1301閲覧

【python】スクレイピングで欲しい情報の一部しか取り出せない

cheriraoka

総合スコア42

スクレイピング

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2022/07/21 13:52

0

0

実現したいこと

ネット競馬からスクレイピングをしたいと考えています。
欲しい情報はコード下にある画像の赤枠で囲んだ箇所ですが、私が書いたコードですと、青枠で囲んだ箇所しか表示させることができません。

url = 'https://race.netkeiba.com/race/newspaper.html?race_id=202210030312&rf=shutuba_submenu' # メールアドレスとパスワードの指定 USER = "メールアドレス" PASS = "パスワード" login_info = {"login_id":USER, "pswd":PASS,} session = requests.Session() url_login ="https://regist.netkeiba.com/account/?pid=login&action=auth" session.post(url_login, data=login_info) html = session.get(url) html.encoding = 'EUC-JP' soup = BeautifulSoup(html.content, 'html.parser')

イメージ説明
イメージ説明

試したこと

次のコードでも試してみましたが、ダメでした。
↓コードを実行すると、

url = 'https://race.netkeiba.com/race/newspaper.html?m=riot-shutuba-past&race_id=202203020411' # メールアドレスとパスワードの指定 USER = "メールアドレス" PASS = "パスワード" login_info = {"login_id":USER, "pswd":PASS,} session = requests.Session() url_login ="https://regist.netkeiba.com/account/?pid=login&action=auth" session.post(url_login, data=login_info) html = session.get(url) df = pd.read_html(html.content, encoding='utf-8')

↓次の結果が返ってくる

[ 0 1 0 能力 1 シーク 5 マウン 9 ショウ タイム指数へ, 0 1 0 上昇度 3 ヒュミ 12 モズナ 13 プリマ 調子偏差値へ, 0 1 0 騎手 12 戸崎圭 15 津村明 16 田中勝 該当コースランキングへ, 0 1 0 距離 6 ヒート 8 フォル 11 アンテ 距離別成績へ, 枠 馬番 馬名 コメント 評価 0 1 1 シークレットラン Q 久々の一戦 脚元の関係で休養していたが、今は問題ない。休ませたことで気性面が大人になり、... NaN 1 1 2 ロザムール Q 昨年は2着 本質的に福島は合うし、開幕2週目なら極端に馬場も悪くならないはず。同型との兼... NaN 2 2 3 ヒュミドール Q 調整過程は GⅠで大敗したので、精神面をケアする意味でもリフレッシュを図った。出来は申し... NaN, 枠 馬番 馬名 日付 コース 馬場 乗り役 \ 0 1 1 シークレットラン 前走 2022/07/06(水) 南W 稍 江田勇 1 1 2 ロザムール 前走 2022/07/06(水) 南W 稍 助手 2 2 3 ヒュミドール 前走 2022/07/06(水) 南W 稍 助手 調教タイム ラップ表示 位置 脚色 評価 評価.1 映像 0 83.4(17.3)66.1(15.1)51.0(14.2)36.8(25.2)11.6(1... 6 馬也 気配平凡 C NaN 1 86.4(17.4)69.0(15.2)53.8(14.5)39.3(27.2)12.1(1... 9 馬也 変わらず C NaN 2 90.2(18.1)72.1(16.2)55.9(15.7)40.2(28.5)11.7(1... 9 馬也 仕上良好 B NaN ]

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

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

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

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

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

guest

回答1

0

ベストアンサー

print(html.content)として、対象のHTMLを表示してみましょう。
おそらくその中には無いと思います。無いものは取得できません。
無いのにブラウザでは見える理由は、
ケース1:JavaScriptで後から追加されたタグである
ケース2:iframeで指定された別のHTMLの中にある
ケース3:その両方

ケース1の場合は、普通は、Seleniumライブラリと、ChromeやFirefox等のブラウザを使います。
他のライブラリもあるようですが、このサイトで出ている質問はSeleniumばかりです

投稿2022/07/21 14:26

otn

総合スコア86367

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

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

otn

2022/07/21 14:28

数日前に他の質問にした回答のほぼコピペです。
cheriraoka

2022/07/22 02:13

回答ありがとうございます。seleniumで取得する方法でやってみたいと思います。 また、躓いたときにご教示いただけると助かります。今回は本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問