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

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

新規登録して質問してみよう
ただいま回答率
85.31%
Beautiful Soup

Beautiful Soupは、Pythonのライブラリの一つ。スクレイピングに特化しています。HTMLデータの構文の解析を行うために、HTMLタグ/CSSのセレクタで抽出する部分を指定することが可能です。

Python 3.x

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

Q&A

解決済

1回答

1900閲覧

【スクレイピング】webページの為替相場が取得できない

osuzu

総合スコア16

Beautiful Soup

Beautiful Soupは、Pythonのライブラリの一つ。スクレイピングに特化しています。HTMLデータの構文の解析を行うために、HTMLタグ/CSSのセレクタで抽出する部分を指定することが可能です。

Python 3.x

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

0グッド

0クリップ

投稿2022/08/21 12:24

実現したいこと

三菱UFJの外国為替相場一覧から
001 USD(米ドル)のT.T.Sの値を取得したいのですが、スクレイピングで該当部分を抽出すると、為替値がハイフン(----)で置換されてしまいます。どうすれば数値を取得できるでしょうか。

該当のソースコード

python

1Entry_url1 = "https://www.bk.mufg.jp/ippan/kinri/list_j/kinri/kawase.html"#スクレイピング対象URL 2 3response = requests.get(Entry_url1)#htmlを指定したURLから取得 4soup = BeautifulSoup(response.content,"html.parser")#取得したhtmlをパース 5sp = soup.select_one('#G001ACRA')#該当箇所をselecterで指定 6print(sp) #出力結果 <td class="a-text-right" id="G001TTSZ">----</td>

試したこと

上記のwebページの該当部分をedgeの開発者ツールで見てみると数値(137.31)が入っているのですが、スクレイピングを実行すると数字がハイフン(----)に代わっています。

 HTMLの記述:<td class="a-text-right" id="G001TTSZ">137.31</td>

 スクレイピング結果:<td class="a-text-right" id="G001TTSZ">----</td>

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

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

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

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

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

guest

回答1

0

ベストアンサー

上記のwebページの該当部分をedgeの開発者ツールで見てみると

これが間違い。requests.getで取得した物からスクレイピングする場合は、開発者ツールじゃ無くて Ctrl-U で表示される「ページのソースを表示」を見ます。これは、requests.getで得られるresponse.contentと同じです。

開発者ツールで表示されるのは、それに対してJavaSriptが追加変更した後の結果なので、一般的には異なります。

そこに情報がない場合は、requests.getで取得は無理で、ブラウザを使うSeleniumライブラリなどを使う必要亜画あります。

投稿2022/08/21 12:41

otn

総合スコア86291

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

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

osuzu

2022/08/21 12:48

早速ありがとうございます。 Ctrl+Uで見たところ、数字が入っておらず、すべてハイフンになっていました。 該当ページは"当サイトではJavaScriptを使用しています"とありましたので、ご指摘のとおりSeleniumを使う必要がありそうです。大変勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問