WEBスクレイピングで日経平均株価の値を取得するPHPプログラム

20210526

Logging

WEBスクレイピング日経平均株価の値を取得するPHPプログラムです。下記のようなブログラムを応用してクラウドワークスなどの案件(データ取得の案件)を自分は請け負っています。現在のWEBスクレイピングの相場は1-5万円ぐらいです。PHP言語ではJSがOFFの状態をスクレイピングするのでJS(java script)が動作して表示されているものは取得できないのが難点です。そのような場合はPhantomJSを使用すると良いらしいですが、こちら開発が終了しているライブラリになります。

WEBスクレイピングで日経平均株価の値を取得するPHPプログラム

大手の企業はJSがOFFの状態でも表示できるように設計されている事が多いので大体のデータは取得可能です、例外として大手のショッピングサイト(ECサイト)では、JSをゴリゴリと使用している場合もあるのでスクレイピングする前にブラウザで見栄えの検証(java script OFFの状態)することをオススメします。

<?php
	//WEBスクレイピング
	$url = "https://stocks.finance.yahoo.co.jp/stocks/detail/?code=998407.O";
	$html = file_get_contents($url);
	$dom = new DOMDocument();
	$html = mb_convert_encoding($html, "HTML-ENTITIES", 'UTF-8');
	@$dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
	$xpath = new DOMXPath($dom);
	print $xpath->query("//*[@id=\"root\"]/main/div/div/div[1]/div[2]/div[1]/div[2]/div[2]/p[2]/span")->item(0)->textContent;

追記:スクレイピング先のコードが変わればデータは取得出来なくなりますので、ソースコードの変更が必要です。

著者名  @taoka_toshiaki

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

$dom-&gt, div, dom, gt, gt;textContent, HTML-ENTITIES&quot, item, loadHTML, lt, mb_convert_encoding, NODEFDTD, NOIMPLIED, PhantomJS, php, print, query, quot, quot;root, XPath, プログラム,