いつもの日記 » この記事

Excel VBAでクローリング&スクレイピング

 

Excel VBAでクローリング&スクレイピング
五十嵐 貴之 (著)

 

ソシム社から出ているExcel VBA の本。打ち込みはまだしていませんが、読み終わりました。読んでみた感想ですが、この本は以前レビューで書いた「ExcelVBAでIEを思いのままに操作するプログラミング術」と比べると、「思いのまま…」がieを介して取得したhtmlをどうExcelVBAで加工していくかを掘り下げていくスタンスをとっているのに対して、

 

この本では、htmlに限らず色々な形式のデータを取得できるよ(XML,PDF,JSON,WORD)ということを強調しており、また取得したデータ加工の例として、6章目にスクレイピング(分析)として、インターネットから取得した内容を自動解析して自動要約を成果物として出力するようなことをやっています。

 

個人的には、最終章でクラス機能を使ったクローリングのサンプルプログラムを見せてくれているのがとても良かったです。

 

ExcelVBAの開発ツールのクラス機能まで踏み込んでプログラムを作っている本というのは、意外と見たことないような気がするので、そこに興味を持ちました(EXcelVBAのクラスってC#っぽい印象でした)。

 

★★★★☆…4点

[2019.06.10 以降]
★★★☆☆…3点 (減点の理由は追記分にて)

 

スクレイピング(分析)の例として6章で作った成果物としての要約文が、なんというかこれは一体どう使えばいいのかという感じなので4点です。

(さらに…)

六月の輝き

 

六月の輝き (集英社文庫)
乾 ルカ (著)

 

今年初めての読書レビューになります。初めて読む作者さんの本です。図書館でパラパラめくってなんとなく惹かれるものがあったので借りて読んでみました。

 

ストーリーは二人の女の子の友情と別れの物語なのですが、
(アマゾンレビューにもありましたが)ストーリーや世界観はきれいなのですが結末が寂しい。厳しい孤独というか。主人公は強く若いからいずれ春の訪れがあるのかもしれないかもしれないけど、読後には、寂しさばかりが残りました。

 

★★★★☆ 単純なハッピーエンドではない。ほろ苦い結末とか好きな人にはむいいかも。

ここ最近の電子工作 (ディップメーターを作ってみた)

更新がすっかり滞っていましたが、今年最初の投稿は電子工作から。

 

ラジオ製作の本などを読んでいると、ディップ・メータなるものを使って同調周波数を調べましょうとか書いてあったりしますが、ディップ・メータなんて売ってないし中古品はオークションで一万円近くして中々手が出ません。無いものをどうやって調達しているのか知りたくなったのでネットで調べてみると、自作するという方法もあるらしい(?)のが分かりましたので、とりあえず製作方法が書いてある本を購入して、いけそうだったら作ってみようかということにしました。これが無くてもAMラジオ作りに支障はないのですが、まぁなんとなくね。

 

折角ですので、材料等調達コストが幾らぐらいかかったのかも書いていきたいと思います。

 

本はこの本ですね。

 

「作りながら理解するラジオと電子回路」2,000円(税別)

 

Amazonから購入したような気がします。2010年に初版が出ているのでそんなに古い本ではありません。この本のP.51からP.55の内容で作りました。

 

参照した本は、周波数を測定できるテスターに計測値を出力する仕様になっていましたが、ネットで周波数カウンターを埋め込んでいたかっちょいい方がいましたので、そちらを真似っ子して作ってみました(但し、!MHzからしか計測できない。NHK第一が表示できない)。

 

秋月電子やaitendなどで部品購入しました。
エクセルのキャプチャ画像から、この時点で5,000円です。周波数が表示できるテスターが2,700円なのが大きいです。

 

dipmater_cost

 

この他、交通費とAmazonで購入するしか無い、中華製の周波数カウンター1,500円(SODIAL(R) 高精度1-500MHz周波数カウンタ テスター 測定メーター)その他諸々を加算すると、10,000円に達する勢いです。しかも上手くいくかわかんないものをこれから作ろうとしているので、手早く計測だけしたいならやっぱりオークションでメーカー品の中古を手に入れたほうがいいのかもしれませんねぇ(・∀・)

 

また材料ですが、本で指定のパーツそのものは無かったり高かったりして、互換品で代用したりしているので本当に本の通りに完成するのか作る前から結構ドキドキです。

 

以下は、製作中に撮ったキャプチャー。

 

20190130c

 

発振器自体作ったことが無いので、コルピッツ回路の練習からしました。

 

左下の隅に写っているのが、周波数も計測できるテスター(最初うっかりoffにするの忘れていきなりボタン電池を4つ全部消耗させてしまった。で、10個30円とかいう破格の電池買ったら、Amazonレビュー通り放電してるのが3~4個に1個あったり)。右上のは、ラジケーターを抽出するつもりで、100円ショップで買ったグリーンオーナメントの電池チェッカー。ばらすつもりがボタン電池の容量チェックもできたりして意外と重宝)

 

20190130d

 

ブレッドボード上で試しに組んで…カオスですね。見た目は悪いですが、最終的にインダクタとコンデンサを組み合わせた同調回路を近づけてみると、ちょこっと、ほーんのちょこっとピコピコ反応する回路が出来上がりました。本の指定どおりにラジケーターにある程度安定した電流が流れる真ん中あたりで計測すると実に微妙な振れ方をします。電流量を減らしてギリギリ出力周波数の表示が維持出来る程度のヘリあたりに針を置いて、同調回路を近づけるとぱたーんと左側に針が倒れます。但し、同調回路を離しても針が戻らないというなんとも言えないものに。ラジケーターは指定の500μAではなく、250μAとかもっと微量の電流変化を捕まえられるやつの方がいいのではとか思ったり、互換品のトランジスタじゃまずかったのか、思うところがある出来上がりになりました。

 

20190130b

 

ランド法というやり方で組んでいるところ。

 

20190130a

 

完成したもの。AMラジオの周波数帯を調べたかったので、470μHのインダクタと親子バリコンの組み合わせで。ケースはセリアで売っているはがき用のケースで(108円)。加工もしやすいし透明なので、各パーツの配置もざっくり配置して裏から見て問題ないなら穴を開ける位置を油性マジックペンで線引きしてPカッターでカリカリ切り出せます(軽い・安い・加工時間が短くて済む。但し、ハンダごてを近づけすぎると溶ける!)。

 

完成したものに同調コイルを近づけてみますが、なんかブレッドボードの時と大差ない結果に(´;ω;`)

 

こりゃあ、1万近くかけて失敗なのかぁとかなりがっかりしましたが、まだ実際のラジオで調べてません。

 

で、せっかくなのでこのレビューでも以前紹介した「電子工作は失敗から学べ」にあるワンチップAMラジオをベースに、スピーカーから音が出るように手直ししたものを追加で作りました。これも、ケースはダイソーで3個100円で売ってるタッパーに収めました。なんか100円ショップ結構利用してますね。

 

20190130e

 

こんな感じで作ってみました。タッパーラジオは作ってて楽しいです。

 

20190130f

 

完成したタッパーラジオ。

 

このラジオに、微妙な出来のディップメーターを近づけて、出力を上げていくとスピーカーから聞こえている放送がかき消されていきます。続けて周波数のダイヤルを放送局の周波数に合わせて(周波数カウンターで確認できる)みると、おーなんかYoutubeでディップメーターのテストを公開している人のように、ぴゅいーんとか明らかに(不快な)異質の音がスピーカーから聞こえてきます。この状態で、ラジオを他局にすると音がかき消されるだけでしたので識別は出来るようです。発振器としてちゃんと機能しているみたいです。ラジケーターは相変わらず反応しているのか反応してないのかさっぱりアテにできないままですが、同調すればAMラジオに関してはスピーカーからの音で識別できるようです。

 

三行要約
・自作すると一万円近く掛かった。
・出来上がったディップメーターの性能は、本の様に完璧には動いてくれなかった(特に、メーター)
・ラジオに近づけると、ラジオスピーカーからの音で同調している様子が確認できた。

Googleの検索結果から古いリンクを削除する

今日は備忘録。Googleで検索するととっくに削除したはずのページへのリンクが残っていたりとか結構ありましてその削除方法を調べてみました。古いアドレスが残っていると、ファイルを移動しただけの改訂でも新しいファイルが検索に出てこなくなったりするので、やり方を備忘録として書き残しておきます。

 

Googleアカウントを持っていて、旧ウェブマスターツール(WebMasterTool)、現サーチコンソール(SearchConsole)を開設していることが前提です。

 

やり方の覚書

 

このページ(https://support.google.com/webmasters/answer/6332384?hl=ja&ref_topic=172462)へ移動して、「URL削除リクエスト」へのリンクをたどる。

 

20181030a

 

すると、このhttps://www.google.com/webmasters/tools/removals
のページに移動するのでここから、site:「あなたの管理しているサイト」で一覧表示されているgoogleにインデックスされているファイル一覧で事前に調べておいた古いアドレスを入力して、削除リクエストする。

 

20181030b

 

リクエストするとそのアドレスを調べてくれる。うまくいくと下のリストのようになる。

 

20181030e

 

P.S Webマスターツールはコロコロ変わるので本当に厄介(´;ω;`)

感応連鎖を読んだ感想

 

感応連鎖 朝倉かすみ (著)

 

図書館で手にとった初めて読む作家さんの本。

 

あらすじは、アマゾンレビューなどを参考にしてもらうとして、読んだ感想。

 

こうゆう感覚の本はこれまで読んだことないから、どう言っていいのか…。女の人の内面心理・感覚を描いたものなのか。女でも特例なのか…。男である自分にはどうにも正直よくわかんないなーというのが正直な感想でした。ちょっと男の読者にはどうかな。男でこの感覚にこれに共鳴できる人って相当変わり者のような気もします。

「Puppeteer入門 スクレイピング+Web操作自動処理プログラミング」を読んだ感想

 

Puppeteer入門 スクレイピング+Web操作自動処理プログラミング
ヴェネチア冒険團 (著), 美崎 薫 (著), 小原 亮一 (著), 酒井 一成 (著)

 

最近興味があるジャンルなので、買って読みました。ちなみに本は最後まで読み終わっていますが、スクリプトは最初の一個「google窓を開く」までしかまだやっていない状態で感想を書いています。

 

四章から七章までの実例部分はどうやってコードを書いていけばいいのかの参考になるので良いと思います(コードは、ある程度パターン化されていて、各例とも一ページとか長くても二、三ページでまとまっているので読みやすいです)。八章はどうかな。テストについてまで関心のある読者ってそんなにいるのかなと思いました。また、二章の開発環境周りの説明はどうも自分には分かりにくく、テストスクリプトを動すに至らなかったので、改めてネットで検索した他の人のやり方に従って実行環境を整理し、添付されていた最初のスクリプトを動かせたという次第です。

 

評価としては、微妙なところ。なんというか使い方次第で使えそうな気もするけど、用例をどう自分のニーズに適用したらいいんだろうというところがピンと来なかったです。excel vba を使って既に似たようなことをやっているので、excel vba ではまだやったことない(見たこと無い)「ウェブサイトに配置されている色々なボタンを自動で押したりする操作」でなにか新しい事ができたらいいなーと期待してこの本買ったのですが、どうもモヤモヤしています。むしろexcel vba で自動でボタンクリックする方法を一度調べた方がいいのかなぁ??とも思ったりしました。

扉絵を更新

扉絵を更新しました。残暑見舞い的なイラストということで。

作ればわかる! Androidプログラミング 第4版 SDK5/6 Android Studio対応 10の実践サンプルで学ぶAndroidアプリ開発入門 (Smart Mobile Developer)

 

作ればわかる! Androidプログラミング 第4版 SDK5/6 Android Studio対応 10の実践サンプルで学ぶAndroidアプリ開発入門 (Smart Mobile Developer)
金宏 和實 (著)

 

お盆の最終日までになんとかこの本のコードの打ち込みと動作の確認が終わりました。

 

以前に第三版を読んだ感想を書きましたが、改めて第四版を購読しました。初版が2016年5月発行なので、2年ぐらい経過していますね。Androidの開発環境はコロコロ変わるのでどの程度そのまま適用できるか心配でしたが、現時点(2018.08.16)の時点で多少変更を伴いましたが、10章の「ジョギングの友」まで本に書いてあるとおりにプロジェクトを作って打ち込んでいったかんじでは動きました(尚、サイトからダウンロードできるサンプルコードは基本そのまま動きました)。また、11章はトレースロボを持ってないので確認できませんでした。
もっとも自分のAndroidStudioのバージョンが2.3.3なので、最新の環境ではどうなるのか分かりませんが…。

 

ちょっと困った点

 

・ウィザードを使ってレイアウトを起こすと、新しいタイプのレイアウトで雛形を作るので本のサンプルコードと食い違います(コピペして合わせました)。

 

・5章ではビルドする前に、onAttach();を削除しないと予期せぬエラーになって停止しました。

 

・10章は本の指示に従ってプロジェクトを作ってコードを書いたのですが、コンパイルに失敗したので、本のサンプルコードに合わせてグレードルの記述を変える必要がありました。
★本のコード(グレードル)
compile ‘com.google.android.gms:play-services:8.4.0’
★ウィザードに従って作った雛形のもの(このままだと範囲が狭くてlocationなど他に使っているものがコンパイルできなくてエラーがでる)
compile ‘com.google.android.gms:play-services-maps:11.0.4’
★動くように本のように範囲を広く指定しなおした
compile ‘com.google.android.gms:play-services:11.0.4’

 

コードを入力中にAndroidStudioが出し続けていたエラーの原因がよく分からずもやもやしてましたが、こうゆうこともあるのですね。うーん難しい。

温度センサー

久しぶりにアルディーノを使って、演習をしてみました。以前読んだ技術評論社のArduino[実用]入門をまた図書館から借りてきて、興味はあったものの作成していなかったものをいくつか材料を揃えて実験中です。今日は、まず「温度センサー」を実験しました。

 

こんなの↓

 

temp_20180712

 

本で指定のパーツを秋月電子で買ってきて使っていますが、他の温度計と比べて2~2.5度ほど低い値を検知していますが、これは誤差の内なのでしょうかねぇ(・3・)

独習C# 新版

 

独習C# 新版
山田 祥寛 (著)

 

前々からいつか購入しようと思いつつもまだ読みこなせないのではとグズグズしていましたが、やっと買って読み終えました。

 

中身が濃いので読み込むのが大変だったよー。・゚・(ノД`)・゚・。

 

しかし解説が丁寧で感覚的にわかりやすかったのでなんとか最後まで読み通せました。

 

翻訳本は苦手でして、訳本をもう一歩噛み砕いて日本人に分かりやすい表現で構成し直して解説してくれる日本人著作本の方が好きですヽ(´ー`)ノ

 

この本で紹介されている作例やルールをことごとく覚えておけたら素晴らしいのですが、とても覚えきれないのでリファレンス本・辞書的本・教科書的な位置づけの本として手元に置いておこうと考えています。

 

評価 いい本です(ただし初学者には難しいと思う)