「MyScripts LE」をリリースしました。「MyScripts」の無料版です。
「MyScripts」と「MyScripts LE」の違いは:
・管理できるスクリプト数が10個に制限されます。
・タグ管理機能、検索機能が省略されています。
無料版をお試し頂き、「MyScripts」の購入をご検討ください。
「MyScripts LE」のダウンロードはこちらからどうぞ。
「MyScripts LE」をリリースしました。「MyScripts」の無料版です。
「MyScripts」と「MyScripts LE」の違いは:
・管理できるスクリプト数が10個に制限されます。
・タグ管理機能、検索機能が省略されています。
無料版をお試し頂き、「MyScripts」の購入をご検討ください。
「MyScripts LE」のダウンロードはこちらからどうぞ。
MyScriptsをご愛用いただきありがとうございます。更新内容は以下のとおりです。
・HTML表示中のSAVE_JSONが正常に動作しない不具合を修正しました。
具体的には、iretokuスクリプトが動作するようになりました。
ご迷惑をおかけして申し訳ありませんでした。
ダウンロードと詳細についてはこちらからどうぞ
一つ前の投稿(歌詞取得スクリプト「SimpleLyrics」)からの続きです。
MyScriptsを使ってWebスクレイピングを行う手順を簡単に説明します。
ここではDOMは利用せずに、単純な正規表現を使った方法を紹介します。
// Webページを取得するための
// ユーティリティ関数
function httpGet(url) {
var xhr = new XMLHttpRequest();
xhr.open(“GET”, url, false);
xhr.send(null);
return xhr.responseText;
}
// 再生中のアーティスト名と曲タイトルを使って
// 検索用のURLを構築します
var listUrl=”http://m.kget.jp/result.php?cat=0&artist=”+encodeURIComponent(SONG.artist)+”&title=”+encodeURIComponent(SONG.title)+”&tieup=&phrase=”;
// Webサイトで検索して
// 検索結果のページを取得します(※1)
var listPage=httpGet(listUrl);
// 検索結果の1件目の曲IDを取り出して
// 歌詞ページのURLを構築します(※2)
var resultIndex=listPage.match(/song=[0-9]+/g)[0];
var lyricsUrl=”http://m.kget.jp/lyric.php?”+resultIndex;
// 歌詞ページを取得します
var lyricsPage=httpGet(lyricsUrl);
これでスクレイピング対象の文字列をlyricsPage変数に取得できました。
(ここでは検索処理を行なっていますが、検索が不要なWebページでは上記※1と※2は不要です)
あらかじめ歌詞ページのソースを確認しておき、<div class=”lyric”>から始まる部分に歌詞があることを確認しておきます。
// ページの中から歌詞を抜き出します
lyricsPage.match(/<div class=”lyric”>n([sS]+?)<div/m);
([sS]+?) 部分に歌詞が入りますが、これはRegExp.$1内に保存されています。
// 不要な改行タグを削除します
var lyrics=RegExp.$1.replace(/<br />/g, “”);
これで不要なタグが入っていない歌詞部分だけをlyrics変数に取り出すことが出来ました。
あとはこのデータを好きなように加工できます。
上記のURLを変更したり、スクレイピングの正規表現を変更していろいろと試してみると面白いと思います。
再生中の曲の歌詞を検索、表示する「SimpleLyrics」スクリプトを作りました。
歌詞は「歌詞GET」から取得します。歌詞の著作権についてはサイトを参照して下さい。
MyScriptsへの登録はこちらからどうぞ。
/* mdoc
概要:: 再生中の曲の歌詞を検索、表示します
作者:: @unitkay
版数:: 0.0.2
更新:: 2012-09-02 08:57:10
分類:: ミュージック
識別:: simplelyrics
URL::
詳細_______________________________
再生中の曲の歌詞を「歌詞GET」から取得します。
歌詞の著作権についてはサイトを参照して下さい。
___________________________________
*/
// Webページを取得するための
// ユーティリティ関数
function httpGet(url) {
var xhr = new XMLHttpRequest();
xhr.open(“GET”, url, false);
xhr.send(null);
return xhr.responseText;
}
// 再生中のアーティスト名と曲タイトルを使って
// 検索用のURLを構築します
var listUrl=”http://m.kget.jp/result.php?cat=0&artist=”+encodeURIComponent(SONG.artist)+”&title=”+encodeURIComponent(SONG.title)+”&tieup=&phrase=”;
// Webサイトで検索して
// 検索結果のページを取得します
var listPage=httpGet(listUrl);
// 検索結果の1件目の曲IDを取り出して
// 歌詞ページのURLを構築します
var resultIndex=listPage.match(/song=[0-9]+/g)[0];
var lyricsUrl=”http://m.kget.jp/lyric.php?”+resultIndex;
// 歌詞ページを取得します
var lyricsPage=httpGet(lyricsUrl);
// ページの中から歌詞を抜き出します
lyricsPage.match(/<div class=”lyric”>n([sS]+?)<div/m);
// 不要な改行タグを削除します
var lyrics=RegExp.$1.replace(/<br />/g, “”);
// MyScriptsに歌詞を渡して完了
lyrics;
MyScriptsをご愛用いただきありがとうございます。更新内容は以下のとおりです。
・スクリプト一覧画面での検索機能(URLスキームにも対応。myscripts://search?title=URLエンコードした検索語 または myscripts://search?script=URLエンコードした検索語)
・タグ選択用URLスキーム(myscripts://tag?name=URLエンコードしたタグ名)
・タグの一括追加と一括削除
・MyShortcutsとの連携用スクリプト
・カーソル移動用URLスキーム(編集画面からスクリプトを実行したときにのみ有効。myscripts://moveCursorTo?line=行数&c-
olumn=列数)
・アイコンの変更
ダウンロードと詳細についてはこちらからどうぞ
※不具合が見つかっています。HTML表示した際に、myscripts:スキームを使用すると正常に動作しません。この不具合を修正した2.0を申請済みです。リリースまで少々お待ちください。申し訳ありません。
MyScripts1.8をリリースしました。タグ付け機能、クイックメニュー、バックアップなど、使い勝手の向上が主な更新内容です。スクリプトの数が多い方は、一覧画面でスクリプトを長押ししてタグ編集すると、すばやくタグを付けられると思います。 http://t.co/PwdvFqOn
編集画面のアクションメニューから作成したスクリプト登録用リンクは、これまでWordPressに投稿できませんでしたが、TinyURLを間に挟むことで投稿できるようになります。
スクリプト登録用リンクをTinyURLに変換するスクリプトを作りました。このスクリプトをMyScriptsに登録して、他のスクリプトの編集画面で呼び出すと、スクリプト登録用リンクをTinyURLに変換したものがクリップボードにコピーされます。
TinyURLへの変換スクリプトはこちらからどうぞ:
スクリプト登録用TinyURL
@a_i_t_aさんの「スクリプトをツイート」スクリプトを参考にさせて頂きました。ありがとうございます。
超便利です!RT @a_i_t_a: 新作 #MyScripts スクリプト「スクリプトをツイート」 http://t.co/Lj9P8ayA ←のようなスクリプト登録用リンクをツイートします。(TwitterクライアントはデフォルトではTweetbotに設定されています)
いつもご愛用頂きありがとうございます。
このバージョンでは以下の内容を更新しました。
・空の文字がコピーされてしまう場合がありましたので修正しました。
・IS_HTML=trueのときに全画面表示ができるようになりました。
App Storeへはこちらからどうぞ
ご利用ありがとうございます。このバージョンでは以下の内容を更新しました。
・HTMLで表示したときのアンカータグに別アプリのURLスキームがあった場合に、そのアプリを起動できない不具合を修正しました。
・スクリプト一覧画面で、スクリプトを長押しすることでそのスクリプトを編集できます。
App Storeへはこちらからどうぞ
MyScriptsをご愛用頂きありがとうございます。
このバージョンでは以下の内容を更新しました:
・SAVE_JSON、LOAD_JSONで引用符(’)の保存読み込みができない不具合を修正
・HTML表示の中から別のスクリプトを実行したときにSAVE_JSON、LOAD_JSONが動作しない不具合を修正
・MyScriptsアイコンの変更
・CLIPBOARD、ENCCLIPBOARD、IP_ADDRESSパラメータの追加
・FILENAMEパラメータとCOPY関数の機能追加
・jQuery MobileとTwitter Bootstrapライブラリのプリインストール
・拡張キーボードボタンの拡大(iPhoneのみ。設定から変更します)
・バックグラウンド監視の時間切れ通知が蓄積しないように修正
ダウンロードはこちらからどうぞ。
Ver1.5をリリース。UI作成に便利なjQuery Mobileなどのライブラリを追加しました。”MyScripts (350円 評価★★★★½ 11件の評価 1.9MB)” itunes.apple.com/jp/app/myscripts/id492086539?mt=8&uo=4 #SAppInf shareapp.info