2018年6月30日土曜日

東証のサイトのスクレイピングができなくなってる httpsに変更

2018年6月29日金曜日。突然、東京証券取引所のサイトのスクレイピングプログラムが全滅。

どうしたんだ Hey Hey Baby

バッテリーはビンビンだぜ

と思いつつ調べる。

正規表現でデータを取り出せていないようだ。

HTMLソースが変わったのかとWebブラウザで東証のページを開いてHTMLソースを見てみる。

問題はないようだが、スクレイピングが失敗している。

どうしたんだ Hey Hey Baby

機嫌直してくれよ

とお願いしても機嫌は直らないようだ。

どうして動かないのかわからない。

困った。

スクレイピングプログラムからのHTTPの応答を調べてみる。

応答が

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://www.jpx.co.jp/markets/statistics-equities/short-selling/">here</a>.</p>
</body></html>

ん??

document has movedだって?

犯人はhttpsだ。東証のサイトもhttpからhttpsに変えやがった。

スクレイピングにはcurlを使っているので修正は簡単。取得対象のURLをhttpからhttpsに変更するのみ。

まずは試しに一箇所修正して実効してみる。動いた。

東証のURLの全ての箇所をhttpsに修正して、失敗していたスクレイピングプログラムを手動で起動して作業完了。

おしまい。

0 件のコメント:

コメントを投稿