daimac64's blog

50代からのWEBアプリ開発とその他もろもろの備忘録

VBAでスクレイピング

ほしいサービスがいくつかある。今のところ、ネット上には見当たらない。それをWebサービスにするとほかの人にも便利なのでは?と思ったりする。Webを学ぶにあたって何かテーマがほしいのでそのサービスを作ることにする。そのサービスに必要な技術は、「スクレイピング」というらしい。

とりあえず、仕組みを理解するために、VBAでやってみる。

使用するライブラリ

  • Microsoft Internet Controls」            IE(InternetExplorer)制御
  • Microsoft HTML Object Library」     HTTPリスクエスト、HTMLパーサ

あとはパースと文字列処理

KING OF SQUID - JAPANESE SECTION

XPathを取得して、スクレイピングに利用すると便利。お試しで作ったときはめんどくさいことしてたというかあてずっぽだったなぁ。

Chromeの場合、WEBページ上の解析したいオブジェクトを選択して右クリックで検証を選択する。ブラウザの開発者向けツール(F12)が開いて、DOMの相当部分が選択された状態になる。この選択部分をさらに右クリックして、Copy→Copy XPathで取得可能でした。

意外と簡単にできる。でもいろんなサイトからコンテンツを集めくると、VBAではゲキ重。ザンネン!

参考書はこちら。  

データを集める技術 最速で作るスクレイピング&クローラー (Informatics&IDEA)

データを集める技術 最速で作るスクレイピング&クローラー (Informatics&IDEA)

 

 

RD-XS48 「ハードディスクの取り外しを検出しました」を解決

古いHDDレコーダーですが、東芝のRD-XS48と38を使っています。正月明けに突然RD-XS38のHDDが保護あり状態になってしまい、再生以外何もできなくなってしまった。

有名な隠しコマンド ズーム⇒電源OFF⇒電源ON も効果なし。(その後、本体死亡)

XS48に付け替えたらDVDに移動できるかな?と思って換装してみたら、「ハードディスクの取り外しを検出しました」と表示された。元のHDDに戻しても同じメッセージ。HDDの中身は何も見えなくなってしまった。

やってもうたぁ!

HDD換装 - RD-Wiki (東芝REGZAブルーレイ&VARDIAまとめサイト)

によると「直前に取り付けられていた以外のHDDを取り付けると」こうなるそうだ。

 

ここで、試しに隠しコマンド ズーム⇒電源OFF⇒電源ON を実行。

なんと、元のHDDは正しく認識され、録画も再生も行える状況に戻りました。

同様の作業を保護されたHDDにも行ったところ、保護されたままの状態で認識されました。保護については、もう少し調べることにします。

はじめてのブログ

1964年生まれのおじさんエンジニアです。

これまで、WEBとは離れた世界でプログラムを書いてきました。

年に数回開発者系のイベントに参加すると、話題はやはりWEB中心。

自分でもいろいろやってみたい事が出てきたので、とりあえず備忘録代わりにブログを始めてみます。