【AppleScript】特定サイトの膨大な量のテキストを取得するには

2013-09-10

下記の記事は、以前書いたものに少し手を加えたものです。
多少古くなっている点はご容赦ください。 

あるためになるサイトが有ってテキストとして控えておきたいと思いました。
しかしそのサイトは五年分 × 365日 = 1825記事あります。
全部読むのだけでも何日もかかりました。
それをブラウザを開いてコピペするのでは大変です。
そこで自分がなんとか使えるAppleScriptのGUIScriptingで出来ないかと考えました。

——————使うアプリ
○Safari
○Jedit
○AppleScriptは出来ればGUIScriptingで。

——————問題点
○Safariのページをコピーするとよけいなものまでコピーされる。
Jeditにコピーしてからプレーンテキストにする。
(プルダウンメニューショートカットキーが有るのでGUIScripting可能。)
○空白行が有る。
ソースを見ると
と改行が連続しているので
エディターで

か /n/n → /nと置換する。
(逐次処理一括処理で迷います。)
○アドレスの処理 ○○○/YYYYMMDD”0000″の連番なので日付処理で取得が可能。
○エディタの限界になったら(10000行超)
改ページを指定。
○エラー処理 try構文かon error構文を使う。
実際に無い日付とデータが無いページが有った場合は次のURLに移動。
○不要なヘッダとフッタの削除
ヘッダはある行までフッタはキーワード以降を削除
○長時間かかる。
仕事が終わってから自動運転させる。
時間のカウントをして指定時間が来たら強制終了の命令を出す。
○10000行手前でファイルの読み書きで時間がかかるときは
最初に小さいファイルでヘッダフッタの処理をしてその後本文を張り付ける。
または複数の小さいファイルに小分けして最後に読み込む。
○delay命令が必要か これはテストして見るしかありません。

——————もしAppleScriptで出来なかったら

①automatorを使う
②ダウンローダーを使う。
③AcrobatPro9の Webキャプチャー機能を使う。
(これはデータ量が多くなって時間がかかるので見返すのにも時間がかかるので
実用的ではないが最悪の場合に使用)

——————考え方のKYとして
問題点を書き出してどう処理するかをあらかじめ検討しておけば 不安が解消されて
時間の短縮にもなるしあれこれ思い悩む事も無いと思います。
今まではいきなりスクリプトを書いてからすぐスクリプトを動かして
泥縄式で直していましたが今回は一度和文で流れを書いてから
Scriptingをしてみたいと思います。
問題点を先に洗い出すという方式です。

——————データの再利用(つかいまわし)
上記の問題点は以前ぶつかったScriptingでの問題点なので蓄積が有りますので
今回利用できると思います。 過去の経験が生きているなと感じます。
仕事もこのような流れて行きたいものと思います。
投稿者 梶原 

ページトップに戻る↑                           ページ一番下へ↓

Since1991 © Shimayugu All Rights Reserved.
アップルおよびアップルのロゴは、米国および他の国々で登録されたApple Inc.の商標です。
湘南マッキントッシュユーザーズグループは、独立したユーザグループで、Apple Japan合同会社が権限を与えた団体、支援する団体、またはその他に承認する団体ではありません。