非プログラマーのためのインフォマティクス入門。(仮)

非プログラマーがインフォマティクスについて勉強したことを記録します。主にKNIMEというソフトを使用しています。

非プログラマーのためのインフォマティクス入門。(仮)

【随時更新?】当ブログタイトル一覧 〜ブログの情報取得もKNIMEでやるよ〜

みなさまこんにちは。

先日、にほんごであそぼ(NHK)で草枕をとりあげていました。

に働けばかどが立つ。

じょうさおさせば流される。

意地をとおせば窮屈きゅうくつだ。

とかくに人の世は住みにくい。

(青空文庫より)

有名な冒頭部分ですね。日々のストレス、 大型連休ですっきりさせたいものです。

 

さてさて、当ブログですが、アクセス解析(はてなブログの機能)を見る限り、100~200PV/日くらいのアクセスがあるようです。ありがたいことです。折角多くの方に見ていただいているので、内容をまとめて見ることにしました。経緯はこんな感じ↓

f:id:sumtat:20180503002750p:plain

ですが、ただまとめても面白くないので、KNIMEを使って当ブログのタイトル一覧を作ってみました。タイトルは当該記事のポイントを表している(はず)なので、このテーブルは簡易的な"まとめ"と呼べるのでは?と思います。*1

title URL
テスト http://sumtat.hatenablog.com/entry/2017/07/20/132123
データは前処理が9割? ~KNIMEとそのインストール~ http://sumtat.hatenablog.com/entry/2017/07/21/230317
KNIMEをフル装備化(無課金) http://sumtat.hatenablog.com/entry/2017/07/22/220723
【超入門(1/3)】KNIMEの使い方 〜エクセルファイルを読んでみよう(Excel Reader)〜 http://sumtat.hatenablog.com/entry/2017/07/23/161906
【超入門(2/3)】KNIMEの使い方 〜欲しい行だけ抽出しよう(Row filter, splitter)〜 http://sumtat.hatenablog.com/entry/2017/07/24/221257
【超入門(3/3)】KNIMEの使い方 〜エクセルファイルとして書き出してみよう(Excel Writer)〜 http://sumtat.hatenablog.com/entry/2017/07/25/223918
【KNIME】ノード紹介:Joiner 〜2つのテーブルをくっつけよう〜 http://sumtat.hatenablog.com/entry/2017/07/26/232316
【KNIME】ノード紹介:cell splitter 〜文字列を分割したい〜 http://sumtat.hatenablog.com/entry/2017/07/27/230632
【KNIME】ノード紹介:cell splitterとUngroupのコラボ 〜文字列を縦方向に分割したい〜 http://sumtat.hatenablog.com/entry/2017/07/28/220348
【メドケム】KNIMEで構造式を扱おう 〜sdfを読んでみよう〜 http://sumtat.hatenablog.com/entry/2017/07/28/232757
【KNIME】ノード紹介:GroupBy 〜同じものをひとまとめに〜 http://sumtat.hatenablog.com/entry/2017/07/29/224945
【KNIME】ノード紹介:String Manipulation 〜文字列変換の万能選手〜 http://sumtat.hatenablog.com/entry/2017/07/30/194126
エクセルファイルに構造式を入れたい http://sumtat.hatenablog.com/entry/2017/07/31/212058
【KNIME】ノード紹介:Transpose, Pivoting 〜表(table)の縦と横(行と列)を入れ替えたい〜 http://sumtat.hatenablog.com/entry/2017/08/01/222116
KNIMEでChemdrawファイルを読みたい 〜 Chemical Structures File Reader〜  http://sumtat.hatenablog.com/entry/2017/08/02/213444
【KNIME】ノード紹介:Column Rename 〜カラム名を変更したい〜 http://sumtat.hatenablog.com/entry/2017/08/03/215824
【KNIME】ノード紹介:Regex Split 〜文字列を分割したい part 2〜 http://sumtat.hatenablog.com/entry/2017/08/04/234705
【KNIME】ノード紹介:Value Counter 〜重複データを探せ〜 http://sumtat.hatenablog.com/entry/2017/08/05/230217
KNIMEで構造検索をしよう http://sumtat.hatenablog.com/entry/2017/08/06/235018
【メドケム】KNIMEでリガンド効率を計算するよ 〜言い換えれば、ただの四則演算〜 http://sumtat.hatenablog.com/entry/2017/08/07/234207
【KNIME】ノード紹介:concatenate 〜複数のテーブルをとにかく纏める〜 http://sumtat.hatenablog.com/entry/2017/08/09/042620
【KNIME】ノード紹介:Missing Value 〜欠損値を処理しよう〜 http://sumtat.hatenablog.com/entry/2017/08/09/230018
【KNIME】ノード紹介:Nominal Value Row Filter 〜欲しいカテゴリのrowを抽出したい〜 http://sumtat.hatenablog.com/entry/2017/08/11/232215
【超入門】KNIMEで変数を使うには 〜今日の日付をエクセルのシート名にして書き出してみよう〜 http://sumtat.hatenablog.com/entry/2017/08/13/094121
【KNIME】小ネタ:変数受け渡しに使う"赤線"の活用法 http://sumtat.hatenablog.com/entry/2017/08/14/081822
【超入門】Loopを回せ! 〜KNIMEを使って複数のファイルを一気に読んでみよう〜 http://sumtat.hatenablog.com/entry/2017/08/15/072039
【KNIME】小ネタ:** to variableノードを使わない変数の作り方 http://sumtat.hatenablog.com/entry/2017/08/16/133612
【KNIME】ノード紹介:Group Loop Start 〜カテゴリごとに処理したい〜 http://sumtat.hatenablog.com/entry/2017/08/19/073727
【KNIME】ノード紹介:Parallel Chunk Start 〜多重影分身するってばよ〜 http://sumtat.hatenablog.com/entry/2017/08/23/000830
Neural Network Consoleで活性値予測をしてみた http://sumtat.hatenablog.com/entry/2017/08/26/194049
KNIMEで明日の天気を調べよう! 〜REST APIの活用〜 http://sumtat.hatenablog.com/entry/2017/09/02/160249
KNIMEを使ってChEMBLから情報をとってくるンゴ http://sumtat.hatenablog.com/entry/2017/09/10/203510
KNIMEで化合物をクラスタリング&可視化してみよう http://sumtat.hatenablog.com/entry/2017/09/18/095508
InfocomさんがKNIME関連のページを更新したよ! http://sumtat.hatenablog.com/entry/2017/09/23/225041
【KNIME】ノード紹介:Copy/Move Files 〜一括でファイル名を変換しよう〜 http://sumtat.hatenablog.com/entry/2017/10/01/232419
"あ"さんにコメントを頂きました 〜オートフィル(excel)の実現〜 http://sumtat.hatenablog.com/entry/2017/10/12/233851
10年の歳月 http://sumtat.hatenablog.com/entry/2017/11/03/232109
家族が増えました http://sumtat.hatenablog.com/entry/2017/12/25/001558
あけましておめでとうございます&本のおすすめ http://sumtat.hatenablog.com/entry/2018/01/02/164116
【KNIME】お手軽に機械学習してみませんか? 〜random_forest_regression〜 http://sumtat.hatenablog.com/entry/2018/01/27/172253
【KNIME 】scikit-learnをKNIMEで動かすよ 〜t-SNEを題材に〜 http://sumtat.hatenablog.com/entry/2018/02/22/000256
【初心者レビュー】PyCharm使ったら、勉強が捗る!ちょいハードル下がる! http://sumtat.hatenablog.com/entry/2018/03/07/005826
【KNIME 】Excel?のMROUND関数と同じことをKNIMEでやってみよう! http://sumtat.hatenablog.com/entry/2018/04/04/233618

テーブルを作ったフローについて解説を書きました。

興味のある方はご覧ください!

 フロー全体図

f:id:sumtat:20180503000508p:plain

青枠の部分を中心に、ざっくりと解説していきます。

 

まず、スタートのTable Creator(2つ)の内容はこんな感じです。

f:id:sumtat:20180503001256p:plain

この2つのテーブルをCross Joinerに通します

 

Cross Joiner

当ブログ初登場ノードです。このノードは特に設定が必要になることはないと思います。実行すると、"総当たり"で2つのテーブルをくっつけてくれます。完全に語彙不足で申し訳ありませんが、ほんとcross joinerに関しては通せばわかる!だと思います。今回の例では、次のような結果になります。

f:id:sumtat:20180503001742p:plain

次に、毎度おなじみString Manipulationを通して、アクセスしたいURLを作りました。

f:id:sumtat:20180503002043p:plain
f:id:sumtat:20180503002056p:plain

今回は、月別アーカイブのURLを作りました(↓のリンクURLと同じ)。

f:id:sumtat:20180503002348p:plain

全43記事だとブラウザ上で一括で表示できないので、簡便化のため月別にして、ループで回すことにしたのです。Table Raw to Variable Loop Startを使って、ループさせます。Line Readerのinputに、ここまでで作ったURL(変数)を指定して、ブログの内容を読み込みます(htmlがテキストとして1行ずつ読まれている状態)

f:id:sumtat:20180503003626p:plain

で、この中から"a class="entry-title-link"を含む行に、タイトルとリンク情報が含まれてるっぽいので、そこを抜き出します。

f:id:sumtat:20180503003032p:plain

ループが終わると、こんな感じ↓

f:id:sumtat:20180503003826p:plain

これを正規表現を使ってぶった切ります(Regex Split)

f:id:sumtat:20180503003931p:plain

httpから"の前まで>のあとから</a>の前までを切り出しています。結果はこんな感じ↓

f:id:sumtat:20180503004243p:plain

あとはいらないカラムを捨てて(column filter)、カラム名を変更して(Column Rename )、日付順にソートして(Sorter)完成です!

 

どうしても自分が普段使っているニッチな部分に関する記事になりがちなので、なるべく広く使えそうな題材を考えた結果、今回はこんな感じの内容にしてみました。

完成物はあんまり見やすくない気がするので、今後更新するか否かは考えものです…。

 

それでは、また次回!

 

*1:と思ったが、実際作って見たらダサかった。もう少し見やすくした方がいいですね。反省しています。