<Webクエリで書籍の売れ筋データを抜き取る>
どうも、三流プログラマーのKen3です。 今回は、私的なことなのですが、 Webから売れ筋の書籍データを抜き出して、販売用のHPを作成する。 そんな手助けツールを作ってみたいと思います。 http://www.ken3.org/p/a/office-037.lzh に、 今回使用した、テストプログラム(Excel2002版)が圧縮されてます。 動かしてテストしてみてください。/* * 1. 今日の狙い・・・ */
本をいっぱい売って、儲けてやる・・・そんな夢を追ってみます。 本を売るには・・売れている本を皆さんに紹介して、売ろう。 そんな安易な考えで行ってみたいと思います。/* * 2.まず、コンピュータ書籍のランキングを見る */
コンピュータの専門書籍のランキングページをまず探します。 http://www.cbook24.com/ から http://www.cbook24.com/pubinclude/salesrank/salesrank_main.asp に、売れ筋のコンピュータ関係の本が載ってます。 このデータをExcelに取り込みたいと思います。 方法として、簡単なのが、Webクエリーがあります。 メニューからデータ・外部データの取り込み・新しいWebクエリを選択します。 ↑新しいWebクエリを作成する アドレスを入力して、移動ボタンを押します。 ↑目的のページへ移動する 次は、取り込む範囲を選択して、取り込みボタンを押します。 ↑目的のテーブルを選択する。 取り込みボタンを押すと、取り込み位置を聞いてきます。 ここでは、左上のa1を選択しました。 ↑目的のテーブルを選択する。 無事にデータを取り込むことが出来ました。 A列 B列 C列 D列 E列 F列 順位 書名 出版社名(略称) 価格 ISBN 発売日 1 CPUの創りかた 毎コミ 2800 4-8399-0986-5 2003/9/30 2 速効!図解 ホームページ 1280 4-8399-0997-0 2003/3/13 3 平成15年度版 CAD利用技 3333 4-87193-916-2 2003/2/28 4 写真・イラスト入りはが 1280 4-7980-0455-3 2003/1/30 と、簡単に読み込むことが出来ました。/* * 3.このデータを使用して、販売ページを作成する */
さてと、これを紹介するだけでは、お金になりません。 自分のHPから申し込まれたよ、、などの情報を付けないと。 バナー広告は、各会社によって違いますが、 バリューコマース社の楽天ブックを使用してみます。 ( 作成方法のページ http://books.rakuten.co.jp/afvc/afinfo/page05.html ) 必要なのは、パターン的に、自分のIDなどと本を識別するIDです。 私のIDは、バリューコマース社だと、sid=38866&pid=871611930 で、本の識別は通常、ISBNコードなので、 下記の本を紹介したい場合は、 1 CPUの創りかた 毎コミ 2800 4-8399-0986-5 2003/9/30 のISBNコードは、4-8399-0986-5なので、 http://books.rakuten.co.jp/afvc/r.jsp?sid=38866&pid=871611930&i=4839909865 と、作ることが出来ます。 これだと、何がなんだかわからないので、 本のタイトルとリンクする下記のHTMLを作成します。 <html> <body> <A HREF="http://books.rakuten.co.jp/afvc/r.jsp?sid=38866&pid=871611930&i=4839909865"> CPUの創りかた </a><br> <A HREF="http://books.rakuten.co.jp/afvc/r.jsp?sid=38866&pid=871611930&i=4839909970"> 速効!図解 ホームページ・ビルダー7 </a><br> </body> </html> なんて感じの、タイトルとリンクを作成します。 このHTMLを作成するデータとして必要なのは A列 B列 C列 D列 E列 F列 順位 書名 出版社名(略称) 価格 ISBN 発売日 1 CPUの創りかた 毎コミ 2800 4-8399-0986-5 2003/9/30 2 速効!図解 ホームページ 1280 4-8399-0997-0 2003/3/13 B列のタイトルとE列のISBN番号です。 まずは、テキストファイルを作成するテストを作ります。
Sub test_filemake() 'ファイルの作成テストを行う Dim nFNO As Integer Dim strFNAME As String 'ファイル名 'ファイル名を作成する、ブックの位置+test.html strFNAME = ThisWorkbook.Path & "\test.html" nFNO = FreeFile '空いているファイル番号をもらう Open strFNAME For Output As #nFNO '新規にファイルをオープン Print #nFNO, "<html><head><title>TEST</title></head>" Print #nFNO, "<body>" Print #nFNO, "<h1>書籍販売ページのテスト</h1>" Print #nFNO, "</body>" Print #nFNO, "</html>" Close #nFNO MsgBox strFNAME & "に書き込みました" End Sub |
Sub test_filemake() 'ファイルの作成テストを行う Dim nFNO As Integer Dim strFNAME As String 'ファイル名 Dim nYLINE As Integer '行番号 'ファイル名を作成する、ブックの位置+test.html strFNAME = ThisWorkbook.Path & "\test.html" nFNO = FreeFile '空いているファイル番号をもらう Open strFNAME For Output As #nFNO '新規にファイルをオープン Print #nFNO, "<html><head><title>TEST</title></head>" Print #nFNO, "<body>" Print #nFNO, "<h1>書籍販売ページのテスト</h1>" 'データシートを選択する Sheets("DATA").Select 'ループで書籍データを作成する For nYLINE = 2 To 31 '書籍のリンクデータを作成する Print #nFNO, "<A HREF='http://books.rakuten.co.jp/afvc/r.jsp"; Print #nFNO, "?sid=38866&pid=871611930"; '-を除いたISBN番号を書き込む(Replaceで取り除く) Print #nFNO, "&i=" & Replace(Cells(nYLINE, "E"), "-", ""); Print #nFNO, "'>" 'タイトルを書き込む Print #nFNO, Cells(nYLINE, "B") 'タグを閉める Print #nFNO, "</A><br>" Next nYLINE Print #nFNO, "</body>" Print #nFNO, "</html>" Close #nFNO MsgBox strFNAME & "に書き込みました" 'メニューシートに戻る Sheets("Menu").Select End Sub |
Sub DATA_Refresh() Sheets("DATA").Select Range("A2").Select 'Webクエリのデータを更新する Selection.QueryTable.Refresh BackgroundQuery:=False MsgBox "更新終了、データを確認してください" Sheets("MENU").Select End Sub |
ここまで、読んでいただきどうもです。ここから下は、三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、
気になったジャンル↓を選択してください。 人気記事(来場者が多いTOP3): Excel関係: Access関係: その他:VBAの共通関数やテキストファイルの操作など 開発時の操作: [F1を押してHELPを見る]/ [Debug.Print と イミディエイトウインドウ]/ [実行時エラーでデバッグ]/ [ウォッチ式とSTOP]/ [参照設定を行う] 仕様書(設計書?) XXXX書類: [基本設計書や要求仕様書]/ [テスト仕様書 テストデータ]/ [バグ票]/ [関数仕様書]/ [流れは 入力・処理・出力] ※↑文章の味付けが変わっていて、お口に合うかわかりませんが。。。 |
Blogとリンク:[三流君の作業日記]/
[VBAやASPのサンプルコード]/
広告-[通販人気商品の足跡]