プロが教えるわが家の防犯対策術!

IE.Navigate("https://www.sample.jp/data/69/#kakaku")

でページを開き、HTMLソースからある部分の文字列と数値を取得する作業をしてます。
(このURLはサンプルです。事前にログイン処理はしています。)

URL内に「69」とありますが、この数値が2桁か3桁で60パターンあります。(01、97、120等)
繰り返し処理を行いたいのですが数値が順不同で、iを1ずつ増やしていくループだと駄目かなと思ってます。
仮に1から999まで総当たりしても良いと考えましたが、取得できた場合だけ取得していくみたいなことはできますか?効率(処理時間)も悪いですよね。
※もし存在しない数値を入れた場合、エラーにはならず自動的にTOPページにリダイレクトされます。

方法がない場合は、ソースを回数分縦にコピペするしかないと思ってます。

更に、取得した値(文字列1つ、数値2つ)をCSVに書き出したいのですが、
60個変数を用意するのは大変なので、配列を使えればと思うのですが、
具体的に使い方が分かりません。

何か良い方法があれば教えてください。

A 回答 (3件)

60パターンに規則性がないのなら、その60パターンを洗い出し、その値を配列化すれば宜しいのでは。

    • good
    • 0
この回答へのお礼

それがよく分かりません。すみません。

お礼日時:2018/11/30 10:52
    • good
    • 0
この回答へのお礼

ありがとうございます。
リンク先を参考にしたらうまくいきそうでした。
あとは60個も配列化できるか未知なのでこれから試すところです。

お礼日時:2018/11/30 13:24

> あとは60個も配列化できるか未知なのでこれから試すところです。


規則性がないなら、残念ながらコンピュータに的確に教えてあげなければ仕方ありません。

コード内に記さず、txtファイルなどに記載しておいて、それを読み込み、配列化する方法もあります。
1行1項目になるので、書き方によっては、わざわざ配列に入れ直す必要もないかもしれませんが。
この実装ならば、パターンが増えてもtxtファイルに追記するだけで済みますね。
http://uwscpro.blog98.fc2.com/blog-entry-4.html
    • good
    • 0
この回答へのお礼

私の説明が悪く、うまく伝わってなかったようです^^;
具体的に言うと
DIM array[] = "69","70","71","72","73",・・・・

のように60個並べ、1行の文字数が長くなっても大丈夫なのかな、という心配をしていたのです。


ですが結果的にできました。
他の方法を提示していただきありがとうございます。参考にさせていただきます。

お礼日時:2018/11/30 15:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A