TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
Google Chrome 67不具合
漫画用画像ビューア マンガミーヤ MangaMeeya 18
Mozilla Thunderbird Part25
家計簿ソフト6
DGCA総合スレ 7
【作者失踪】Ootake大反省会会場【開発放棄】
EmEditor Part 44
nFinderの代替ソフトを探すスレ [無断転載禁止]170
【mty】トリップ検索「まあ、待て屋。」 Part.1
MDIE Part17
309 :
>>305
あくまで思いつきを提案しただけで、実際に試しているわけではなくうまくいかない可能性もある事を了承して下さい。

また、ウェブページをループで巡回する場合プログラムミスから存在しないURLリクエストや無限ループ等でサーバーに短時間でリクエストを繰り返して、重大な損害を与えてしまうことも考えられます。
場合によっては損害賠償などを請求される場合もありうる事を覚悟のうえで(定かではありませんが、何処かで見たような記憶があります)、
デバッグモードで各所にブレークポイントを置いて進行状況を確認しながらやるなどして、プログラミングに自信がなければ安易に手を出さない方が無難です。
また、ウェブページの構造が変更された場合(外観は一見同じであっても)自力で修正が必要になりますから、正規表現などについての知識が絶対に必要です。
はっきり言うと、panacoranさんから正規の対応版が出るのを待つのが無難です。

今回は、○探で業種別指数がとれるとの事がきっかけですがその業種別指数のURLが分からないので、ヤフーのドル円を例に参考コードを書いて見ます。
もしかするとYahoo.cs個別銘柄の正規表現ではデータを取れないくてエラーになることがあるかもしれません。

* ヤフーはスクレイピング禁止を明示しています。自分は実際にデータが取れるか試したわけではなく、机上の空論です。
Yahooでのダウンロードを勧めているわけではなく、コードを変更して他のサイトで利用するための参考例として投稿するものです。


ダウンロードダイアログで為替にチェックを入れて、個別銘柄とともに201(ドル円)をダウンロードする事を想定しています。

310 :
>>309

Yahoo.cs
1 38行目のコンストラクターを以下のように変更(オリジナルをコメントアウトして)
public YahooDataSource(int[] dates, List<int> list = null) : base(dates)
2 42行目 Foreach ... { の次の行に 以下の2行を追加
if (!list.Contains(brand.Code))
continue;
3 GetPageに追加したコードで呼ばれた場合にヤフーのurlに変換するための変更が必要
tryの前の行(141行付近)に以下2行を追加
if (code == 201)
url = "https://stocks.finance.yahoo.co.jp/stocks/history/?code=USDJPY=X";
* 今回は例としてドル円のみ。Yahooの中に他の指標があるかは不明

DownloadOrder.csの変更
1 139行から143行をコメントアウトして以下に変更
System.Collections.Generic.List<int> list = new System.Collections.Generic.List<int>();
if (_currencies) {
list.AddRange(new int[] { 201 }); }
if (list.Count > 0) {
var ds = new Specialized.YahooDataSource(_dateArray, list);
col.Add(ds); }

311 :
>>310

注意
数日間のデータ取得を想定しています。
長期間のデータ取得はこれではできません。
20本以上のデータを取得しようとした場合の挙動はわかりません。
オリジナルコードをよく見ていませんが、もしかすると無限ループになるかもしれません。

312 :
>>310

ミス発見

Yahoo.cs YahooDataSource 45行

if (brand.Market == MarketType.B || brand.Market == MarketType.Custom ||

if (brand.Market == MarketType.Custom ||
に変更


他にもあるかも

313 :
>>310

Yahoo.csのParsePageメソッドを見ると、200行でIndex判定をしていますが、
230行のIsIndex(int code)を見ると、日経とTOPIXだけをIndexと判定しています。
これであれば、データ保存する倍率が変わりデータ連続性がなくなるはずです。
指数判定コードの修正が必要です。


また、Yahoo.csのRun() を見ると、先にn225をデーターを取得しているようです。
これで有効な日付があればデーターを更新して、さらに追加したコード一覧_codesとTOPIXを読みに行くようです。

したがって、n225とtopixは他のデータソースも含め2度ダウンロードしてしまうことになりそうです。
確か、無尽蔵では上書きですが、
例えば、データソースをYahooに指定して為替のチェックを入れると問題を起こすかもしれません。

個別銘柄をダウンロードする際に、再び日経をダウンロードしますがこの時追加の日付がなくて個別に進まない可能性があるかもしれません。

パラメーターで渡したコードだけダウンロードするように変更するには、渡されたlistがnullかどうかをprivate のbool変数で保持して、
Run()の中で、listが渡された時には日経をスキップするようなコード変更が必要になります。

314 :
>>313

データ倍率に関しては、IsIndexを呼び出す行200を、

AbstractBrand brand = Env.BrandCollection.FindBrand(code);
var shift = 1 / brand.PriceScale;

に変更すれば良いと思います。

圧縮解凍ツールExplzh Part16
Jane Style Part159
ねとらじアプリ総合 part2
アイドルマスター4XNA 解析スレッド
最強のエミュレーター(PC-FX編)
ffmpegならこちらへ 4
【Vista高速化】 Mz Vista Force 【フリーソフト】
XnView Thread その6
Tvmaidについて語るスレ_7_
Electronによる掲示板ビューア Siki
--------------------
【日韓】 日本が歴史に敏感になったのは歴史問題で韓国から圧迫され『被害者意識』持ったから/木宮正史東大教授★2[08/21]
BDですわ! Z.O.E Dolores,i crisis02
水木聖來とかいう年下にナメられるお姉ちゃん
懐かしのミニ番組を語るスレ
【名探偵コナン】大岡紅葉と申します
【トレジャー】バンガイオーHD 地獄の2丁目【D3】
【埼玉】道の駅"安行"スレ その28【川口】
女性声優演技力議論スレ 7
Windows 10 質問スレッド Part57
【マンション】タワーマンション生活のメリット・デメリット 生活に影落とす修繕費リスク★5
【ヒラメ】サーフショアルアー59【マゴチ】
俺がベンチ100kgの細マッチョを目指すスレ part3
国際ラグビー大会への参加について(6N、RC他)
【ETH】イーサリアム 93【Ethereum】
SHOWROOM貢献者ログ part1
SonyTablet S/P_part31【Android4.0】
私鉄機関車と貨車を模型で楽しむスレ3
arsざつだん286(IDなし)
大好きな人の名前を書くと付き合えるスレ191
■ TwellV トゥエルビ 3 ■
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼