表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
8/15

小説データを取得してみよう

コピペでやってみてください。

「今回はなろう小説APIを使ってみるよ。いろいろと説明してきたけど、こういったものはやってみないと感覚がわからないからね。実践あるのみだよ」


「そうですね、なんとなくどんなことができるかは分かったんですけど、どう使うのかは全然ですね」


「なるべく理解できるように説明するから、やってみてね」


「はーい」


「まず、『エクセルでデータ収集を行うための準備』のところで作ったExcelファイルを開いてね




 Excelが開いたら、開発タブの[VisualBasic]をクリック。VBE(Visual Basic Editor)を立ち上げてね。


 挿絵(By みてみん)


 標準モジュールの『Module1』をダブルクリックして、以下のコードをコピペして追加してね。



'*********Module貼り付け用*************

Public Function GetAPIData(Strurl As String) As String


Dim objXMLHttp As Object, strbuf As String


Sleep 1000 '1秒待機。


Set objXMLHttp = CreateObject("MSXML2.XMLHTTP") 'Set

objXMLHttp.Open "GET", Strurl, False


objXMLHttp.send '送信

strbuf = objXMLHttp.responseText 'APIの結果を変数に代入する


'Debug.Print strbuf 'イミディエイトウィンドへの貼り付け


Set objXMLHttp = Nothing 'オブジェクトのクローズ

GetAPIData = strbuf


End Function

'********************************************



挿絵(By みてみん)


「できました。これって何をするものなんですか?」


「これは、HTTP通信をしてデータを取得するものだよ。APIの提供元にデータを問い合わせて、データを貰うときに使う感じだね。


 例題もやってみようか。


 開発タブの挿入を選択して、ActiveXコントロールのところの四角の画像をクリックしてね。


 そしたらSheet上でドラッグしてみて。そうするとボタンが作れるよ。


挿絵(By みてみん)


挿絵(By みてみん)



 ボタンができたらそれをダブルクリックしてみて。


 そうすると、こんな画面になると思う。


挿絵(By みてみん)


 そこにこんな文字をコピペしてみて


'---------------------

'イミディエイトウィンドウに表示する。

Debug.Print GetAPIData("https://api.syosetu.com/novelapi/api/?lim=1")

'デバッグ時によく使うコマンド

'---------------------


挿絵(By みてみん)



Debug.Printはデバッグ(プログラムのテスト)ではよく使うコマンドだから覚えといて、あとmsgboxもよく使うね。



「ふむふむ」


「それが終わったらシートに戻って、デザインモードを解除してね。デザインモードが有効だとボタンが押せないからね。色がついていたら有効になってるよ。クリックするとON OFFを切り替えられるよ。


挿絵(By みてみん)



あ、ちなみに、デザインモードはボタンの形や文字を変えるときに有効にするかんじだね。

プロパティをクリックするとデザインを変えられるよ。そこのCaptionで表示される文字を変えられるね。


挿絵(By みてみん)



「ほうほう」


「デザインモードを解除したらボタンを押してみて。そうするとイミディエイトウィンドウにこんな風に文字が表示されるよ。


挿絵(By みてみん)



「おぉー。なにか出てきましたね。これって何なんですか?」


「これは一番最近更新された小説のデータが表示されてるよ。一番最初のallcountが全小説数、そこから下は小説情報だよ。


 URLの部分を変えると自分の好きなデータが取れるね。これを応用すればデータ分析、解析が出来るよ」


「へー、どう応用するんだろう?」


「ちょっとしたノウハウなんかもあるから、それについてはおいおい説明するよ。


 今回で気を付けてほしいのはSleep関数だね。


 待ち時間を入れるのにSleep関数を使ってるんだけど、これを外すとノータイムでアクセスされる。

 連続して関数を使うときには、サーバーへの負荷が非常に大きくなるから、これを外さないようにしてね。


 ざっとだけどこんな感じでデータ収集は行うよ。ここまではいいかな?」


「はい、なんとか」


「では次回は取得したデータをExcel Sheetに貼り付けていくよ」


「はい! 頑張ります」

質問があれば感想欄にお書きください。


なおイミディエイトウィンドウが立ち上がってない人はVBEの表示->イミディエイトウィンドをクリックすると出てきます。

評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
小説家になろうを知ろうシリーズ
1. とあるスコッパーの備忘録
↑小説検索の方法を知ろう↑
2. 拝啓 エタりそうな作者様、エタが嫌いな読者様。
↑エタ(エターナル、更新停止)について知ろう↑
3. 拝復 応援されたい作者様、応援したい読者様。
↑削除、応援について知ろう↑

紹介したリンク
1. なろうデベロッパー
↑主なデータの取得元↑
2. 国立国会図書館法によるインターネット資料の収集について
↑ネットデータ収集の参考資料↑
3. 岡崎市立中央図書館事件
↑スクレイピングを行うときの注意↑
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ