🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python 3.x

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

2回答

9924閲覧

Pandas DataReaderでstooqが読めなくなった。ネットワーク関連のトラブル?

Aki1000

総合スコア78

Python 3.x

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2021/02/13 06:17

編集2021/02/13 08:30

表題の通り、Pandas DataReaderでstooqが使えなくなりました。

Python

1from pandas_datareader import data 2df = data.DataReader('7203.JP', 'stooq') 3print(df)

とやると
Empty DataFrame
Columns: []
Index: []

となってしまいます。

ですが、

Python

1from pandas_datareader import data 2df0 = data.DataReader('DEXJPUS','fred') 3print(df0)

として為替を表示させるfredからの読み込みは問題なく出来る。

情報追加。いろいろやってたら、何故かPCをモバイルルーターに接続すると問題なく両方動くようになる事が分かった。
家の固定回線からだとstooqの情報だけ取れなくなる。

固定回線からはPandasDatareaderからfredの情報はとれるのに、stooqからはデータが取れない。LAN抜いてモバイルルーターに繋ぐと動く。

謎すぎる……。
謎すぎてわかりません……

情報追加
stooqまでアクセスできないのかとhttps://stooq.com/q/?s=7203.jpとブラウザで見れば見られる。stooqにアクセス出来ない訳ではない。
PandasのDataReaderからアクセスしてるところが違ったりするのかなぁ……

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

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

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

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

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

guest

回答2

0

ベストアンサー

固定回線で使用しているIPアドレスが、Stooqのブロック対象になっているのでは。

投稿2021/02/13 14:51

Daregada

総合スコア11990

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

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

Aki1000

2021/02/14 01:14

それこそ、何で、という感じで。プログラムの練習にトヨタ株の呼び出しを十回くらいやっただけなのに。 あと、ブロックされてるならstooqにブラウザからアクセスして普通に株価見られるのも不思議で。
Daregada

2021/02/14 04:03

「単一ファイルのダウンロードを繰り返すと、そのIPからの単一ファイルのダウンロード要求だけをブロックするのでは?」という推測が書いてあるブログ。 https://www.reakkt.com/2012/11/downloading-stooq-market-data-in-bulk.html 固定回線のグローバルIPアドレス(プロバイダーから割り当てられるもの)が固定でなければ、現在のグローバルIPアドレスを確認後、ブロードバンドルーターの再起動などにより別のグローバルIPアドレスが割り当てられたことを確認し、再度Stooqに対して単一ファイルのダウンロード要求を行なってみればいい。
guest

0

2021/02/13 15:30現在
動作に問題ありません。

>>> from pandas_datareader import data >>> df = data.DataReader('7203.JP', 'stooq') >>> print(df) Open High Low Close Volume Date 2021-02-10 8010.00 8250.00 8005.00 8130.00 15500200 2021-02-09 8080.00 8100.00 7937.00 7994.00 6844800 2021-02-08 7999.00 8080.00 7989.00 8037.00 7479700 2021-02-05 7893.00 7974.00 7856.00 7922.00 7834100 2021-02-04 7800.00 7870.00 7713.00 7759.00 5049900 ... ... ... ... ... ... 2016-02-19 5403.42 5435.58 5323.94 5357.85 15697668 2016-02-18 5590.08 5620.44 5498.10 5519.52 12973081 2016-02-17 5492.72 5512.38 5368.58 5426.63 17805432 2016-02-16 5585.62 5664.22 5471.30 5582.04 16019795 2016-02-15 5384.66 5640.98 5369.47 5587.41 20044534 [1218 rows x 5 columns] >>>

投稿2021/02/13 06:32

technocore

総合スコア7337

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

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

Aki1000

2021/02/13 07:11

なぜか動かないので……。
technocore

2021/02/13 07:23

そんな時は、まずはアップデートとか再インストールですね。 悩んでいても解決しないので。 (まれにダウングレードが必要、という場合もありますが。)
Aki1000

2021/02/13 07:33

Pandas DataReader再インストールしたり、pythonのバージョン切り替えたりしたが駄目だったが、何故かモバイルルーターに接続すると出来た。 家の固定回線からはPandasDatareaderからfredの情報はとれるのに、stooqからはデータが取れない。 謎すぎる……。 ちょっと、質問も修正してみますが……これ、回答出来る人いるのでしょうか……
y_waiwai

2021/02/13 07:44

プロバイダのDNSがおかしくなってるだけかと。 時間が経てば状況も変わるかと。 双方でIP引いてみればどうでしょう
Aki1000

2021/02/13 08:30

stooqまでアクセスできないのかとhttps://stooq.com/q/?s=7203.jpとブラウザで見れば見られる。stooqにアクセス出来ない訳ではない。 PandasのDataReaderからアクセスしてるところが違ったりするのかなぁ……
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問