- ベストアンサー
ワンクリックで当日の番組表を保存するプログラム
毎日、こちらhttp://tv.biglobe.ne.jp/20051027/P27/tv_hyou_1800.htmlのテレビ番組表を手動で保存しているのですが、これを毎日ワンクリックで保存するプログラムをVisual BasicかJava Scriptで作りたいのですが、どのようなプログラムにすれば良いでしょうか? 番組表は1日の前半と後半に別れています。アドレスは毎日変わります。保存のファイル名にも日付を入れるようにしたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
画像までいるとは、思っていませんでした(汗)。電子番組表のようなものを想像していて、文字だけでいいかと・・・。(切り貼りして、余分な画像、フレームを取り除くものかと・・・) ソース中のURL(画像へのパス)は、相対パスに置換してしまえば、問題はないとは、思うのですが・・・。 たとえば・・・ <IMG SRC="./【画像保存フォルダ】/【画像】.jpg" ALT="" ALIGN="" BORDER=""> みたいに書けばいいと思います。 ※【画像保存フォルダ】は、(保存した)トップページと同じ階層に作るものとします。また、その中にダウンロードした画像ファイルが入っているものとします。 せっかく、作ったのに、誠に申し訳ありません。 IEで、「名前を付けて保存」で、「完全に保存」した方が早いですね。(汗) Replace 関数も使うことになりますが、プログラムを作るのは、かなり面倒なことになります。。。ちょっと自信なくなってきました。。。 Replace 関数は、VBヘルプで、Replace で検索するとトップでてきます。
その他の回答 (1)
- psychang
- ベストアンサー率50% (2/4)
VB6.0の場合ですが・・・(多分できると思います。m(_ _)m) '------------------- '1.コンポーネントの追加。 'コンポーネント → コントロール → Microsoft Internet Transfer Controls '(デフォルトオブジェクト名:Inet1) '------------------- '2.HTMLソースを文字としてテキストボックスに代入 Private Sub Command1_Click() Inet1.Cancel Text1.Text = "" Inet1.URL = "http://" & "保存したいウェブページのURL" ''日付などを & を使って文字列として結合 Text1.Text = Inet1.OpenURL '------------------- '3.必要な部分を切り貼り Dim myStr() As String myStr = Split(Text1.Text, "●任意の文字列●") '・・・ '(いつもデザインが変わらない場合で、一部だけ切り抜きたい時は、Splitと配列を使うと切り貼りすると楽) Text1.text = ●● '切り貼りした結果 '------------------- '4.ファイルの保存 Dim num As Integer num = FreeFile() Open App.Path & "\●●.html" For Output As #num Print #num, Text1.Text Close #num End Sub '------------------- '5.URL、ファイル名に含まれる日時の設定。 'Format関数を使って整えた日時をURLに & で結合して代入。 '参考URL: http://oshiete1.goo.ne.jp/kotaeru.php3?q=1748372 '------------------- 'すみません、今、私も質問していて皆様のアドバイスを待っている状態でして、 'これ以上詳しい補足はできません(汗) 'がんばってください。 '------------------- '参考URL: http://homepage1.nifty.com/MADIA/vb/vb_bbs2/200204_02040006.html
お礼
ご丁寧にありがとうございます。 ぼちぼちやってみます。
補足
作ってみました。すると、保存されたhtmlを開くと真っ白だったのですが、記述いただいた「Inet1.OpenURL」を検索ワードにして検索すると、このようなサンプルソースhttp://homepage2.nifty.com/inform/vbmania/source/geturl.htmにたどり着き、これをつかうと保存に成功しました。 しかし、これでは文字中の記号画像が保存できないので、ソースから画像URLを取得してそれぞれ保存し、ローカルで表示できるようにソース中のURLを書き換えたうえでhtmlを保存しなければなりませんね。 これは自力でできると思うのですが、アドバイスや参考ページがあれば教えて下さい。
お礼
アドバイスありがとうございました。 Replace 関数は大変役立ちました。 また、EUCの問題はこちら http://homepage1.nifty.com/MADIA/vb/vb_bbs2/200401_04010054.html を使って解決しました。 htmlのcharset=EUC-JPをShift-Jisに書き換えるのを忘れないようにしなければなりません。 12月1日締め切ります。
補足
ありがとうございます。画像保存はうまくできていますが、1つ厄介な問題が出てきました。こちらの http://tv.biglobe.ne.jp/20051121/P27/tv_hyou_2900.html テレビ欄はEUCのコードで書かれており、読み込みができて、画像保存、書き換えができても、htmlを保存すると、日本語が文字化けしてしまいます。 おそらくEUCからShift_JIS(?)に変換しないといけないのでしょうね。 とりあえず、今はこちら http://tv.nikkansports.com/tv.php?mode=06&site=007&category=tn&sdate=20051121&shour=05&lhour=24&area=025&stationbar=7,13,18&template=program のテレビ欄を使って、その問題の部分以外を完成させるべく制作中です。 もしそのあたりご存じでしたらアドバイスお願いします。