PythonでWebページの取得 (02)


本記事の目標

米国株の目標株価を取得する

米国株の目標株価 (consensus estimateのtarget price)を investing.com より取得する

取得対象

サイト Investing.com
URL: http://https//www.investing.com/

個別銘柄(この例では AAPL)のページのURL
URL: https://www.investing.com/equities/apple-computer-inc

こんな感じ↓のページが表示されます

画像1

目標株価のページ

上記ページ↑の少し下の方に移動して,[Technical] → [Consensus Estimates] とクリックします.

画像2

上記↑の様にクリックすると,下記↓の様なコンセンサス予想のページに移動します.

画像4

これ↑の赤四角部(この例では Average | 190.77 の「190.77」)が「平均目標株価」です.

目標株価の取得

上記のWebページの中から「目標株価」のみを抜き出します.そのためには「目標株価」の部分に対応するXPathを取得します.

Google Chromeを使ってください.

画像4

上図↑の様に「目標株価の値(190.77)」の部分を右クリックして「検証」を選びます

画像5

上図↑の様に,右側に開発者ツール(DevTool)が表示されます.
右下のある行が選択されて水色になっています.この水色の部分が「目標株価の値(190.77)」に対応しています.

水色の行の一番左の文字の「▶」をクリックして「▼」に変えましょう.展開されて隠れていた3行が出て来ます.
こんな↓感じです.

画像6

マウスポインタを,隠れていた3行の一番下の行に持って行くと,左の欄の中の「190.77」がハイライトされます.
この行が目標株価の「190.77」に対応していることが分かります
こんな感じ↓

画像7

この行を右クリックして,[Copy]→[Copy full XPath]と選らんでください.
「目標株価の数字(190.77)」に対応するXPathがクリップボードにコピーされています.
メモ帳などにペーストしてみてください.きっと

/html/body/div[5]/section/div[8]/div[2]/div[1]/p[2]/text()[2]

となっているでしょう.

次に,取得したWebページのHTMLファイルから,「目標株価の数字」を抽出するプログラムを書きます.

Webページ(HTMLファイル)の取得

残念ながら,自作Pythonプログラムでダウンロードするとエラーになると思います.wgetでダウンロードしてください.
この様に↓

wget https://www.investing.com/equities/apple-computer-inc-consensus-estimates

HTMLファイルから目標株価の取得のプログラム

02.py

from lxml import html
import sys

xpath = "/html/body/div[5]/section/div[8]/div[2]/div[1]/p[2]/text()[2]"

ht = html.fromstring(sys.stdin.read())

for token in ht.xpath(xpath):
       print(token)

実行方法

wgetとひとまとめにして

wget https://www.investing.com/equities/apple-computer-inc-consensus-estimates -O - | python3 02.py

実行結果

190.77

となるはずです

この記事が気に入ったらサポートをしてみませんか?