LyricsGetScript/初音ミクwiki
の編集
Top
/
LyricsGetScript
/
初音ミクwiki
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
新規ページテンプレート
#set_tags(歌詞取得スクリプト) #pre{{ <SiteTitle>初音ミクWiki</SiteTitle> <SiteSearchURL>[TITLE] site:w.atwiki.jp/hmiku/</SiteSearchURL> <LuaScript> function LyricsInfoGet(html) --歌詞を取り出す is1, ie1 = html:find("<h3 id=\"id_%w+\">歌詞</h3>",1) --無いときは抜ける if is1 == nil then return end --歌詞の終わりを見つける is2, ie2 = html:find("<h3", ie1+1, 1) is2_,ie2_= html:find("<h4", ie1+1, 1) if is2_~=nil and is2 > is2_ then is2, ie2 = is2_, ie2_ end is2_,ie2_= html:find("<table", ie1+1, 1) if is2_~=nil and is2 > is2_ then is2, ie2 = is2_, ie2_ end lyrics = html:sub(ie1+1, is2-1) --転載注釈を外す is1, ie1, kakko = lyrics:find("(%b())") if is1 ~= nil then if kakko:find("転載") or kakko:find("動画") or kakko:find("ブログ") or kakko:find("歌詞") or kakko:find("書き起こし") or kakko:find("抜粋") or kakko:find("PV") then lyrics = lyrics:sub(1, is1-1) .. lyrics:sub(ie1+1, -1) end end is1,ie1,kakko = lyrics:find("((.-))") if is1 ~= nil then if kakko:find("転載") or kakko:find("動画") or kakko:find("ブログ") or kakko:find("歌詞") or kakko:find("書き起こし") or kakko:find("抜粋") or kakko:find("PV") then lyrics = lyrics:sub(1, is1-1) .. lyrics:sub(ie1+1, -1) end end --HTMLテキストのdiv,改行,ルビ等を消す --\n\n</div>は改行とする lyrics = lyrics:gsub("\n\n</div>", "<br />") lyrics = lyrics:gsub("<div>", "") lyrics = lyrics:gsub("</div>", "") lyrics = lyrics:gsub("\n", "") lyrics = lyrics:gsub("<rt>.-</rt>", "") lyrics = lyrics:gsub("<rp>.-</rp>", "") lyrics = lyrics:gsub("<rb>", "") lyrics = lyrics:gsub("</rb>", "") lyrics = lyrics:gsub("<ruby>", "") lyrics = lyrics:gsub("</ruby>", "") lyrics = lyrics:gsub("<span.->", "") lyrics = lyrics:gsub("</span>", "") lyrics = lyrics:gsub("<!\-\-.-\-\->", "") lyrics = lyrics:gsub("<a .->", "") lyrics = lyrics:gsub("</a>", "") lyrics = lyrics:gsub("<p>", "") lyrics = lyrics:gsub("</p>", "") lyrics = lyrics:gsub("<font .->", "") lyrics = lyrics:gsub("</font>", "") lyrics = lyrics:gsub("<big>", "") lyrics = lyrics:gsub("</big>", "") lyrics = lyrics:gsub("<small>", "") lyrics = lyrics:gsub("</small>", "") lyrics = lyrics:gsub("<b>", "") lyrics = lyrics:gsub("</b>", "") lyrics = lyrics:gsub("<i>", "") lyrics = lyrics:gsub("</i>", "") lyrics = lyrics:gsub("<s>", "") lyrics = lyrics:gsub("</s>", "") lyrics = lyrics:gsub("<strike>", "") lyrics = lyrics:gsub("</strike>", "") lyrics = lyrics:gsub("<u>", "") lyrics = lyrics:gsub("</u>", "") lyrics = lyrics:gsub("<tt>", "") lyrics = lyrics:gsub("</tt>", "") lyrics = lyrics:gsub("<em>", "") lyrics = lyrics:gsub("</em>", "") lyrics = lyrics:gsub("<strong>", "") lyrics = lyrics:gsub("</strong>", "") lyrics = lyrics:gsub("<sup>", "") lyrics = lyrics:gsub("</sup>", "") lyrics = lyrics:gsub("<sub>", "") lyrics = lyrics:gsub("</sub>", "") lyrics = lyrics:gsub("<blockquote>", "") lyrics = lyrics:gsub("</blockquote>", "") lyrics = lyrics:gsub("<q>", "") lyrics = lyrics:gsub("</q>", "") lyrics = lyrics:gsub("<pre>", "") lyrics = lyrics:gsub("</pre>", "") lyrics = lyrics:gsub("<code>", "") lyrics = lyrics:gsub("</code>", "") --<br />を改行にする lyrics = lyrics:gsub("<br />", "\r\n") --行頭と行末の改行を削除 while lyrics:sub(1,2) == "\r\n" do lyrics = lyrics:sub(3) end while lyrics:sub(-2) == "\r\n" do lyrics = lyrics:sub(1,-3) end --行末の空白文字を削除 lyrics = lyrics:gsub("\s-\r\n", "\r\n") lyrics = lyrics:gsub(" -\r\n", "\r\n") --特殊文字 lyrics = lyrics:gsub("<", "<") lyrics = lyrics:gsub(">", ">") lyrics = lyrics:gsub(" ", " ") lyrics = lyrics:gsub(""", "\"") lyrics = lyrics:gsub("&", "&") --タイトルを取り出す title = html:match("<h2>.-<a .->(.-)</a>.-</h2>") --特殊文字 title = title:gsub("<", "<") title = title:gsub(">", ">") title = title:gsub(" ", " ") title = title:gsub(""", "\"") title = title:gsub("&", "&") --アーティスト名を取り出す artist = html:match("</h2>.-作曲.-<a.->(.-)</a>.-<h3") --特殊文字 artist = artist:gsub("<", "<") artist = artist:gsub(">", ">") artist = artist:gsub(" ", " ") artist = artist:gsub(""", "\"") artist = artist:gsub("&", "&") return "LYRICS="..lyrics, "TITLE="..title, "ARTIST="..artist end --2017.4.16 </LuaScript> }} #comment
タイムスタンプを変更しない
#set_tags(歌詞取得スクリプト) #pre{{ <SiteTitle>初音ミクWiki</SiteTitle> <SiteSearchURL>[TITLE] site:w.atwiki.jp/hmiku/</SiteSearchURL> <LuaScript> function LyricsInfoGet(html) --歌詞を取り出す is1, ie1 = html:find("<h3 id=\"id_%w+\">歌詞</h3>",1) --無いときは抜ける if is1 == nil then return end --歌詞の終わりを見つける is2, ie2 = html:find("<h3", ie1+1, 1) is2_,ie2_= html:find("<h4", ie1+1, 1) if is2_~=nil and is2 > is2_ then is2, ie2 = is2_, ie2_ end is2_,ie2_= html:find("<table", ie1+1, 1) if is2_~=nil and is2 > is2_ then is2, ie2 = is2_, ie2_ end lyrics = html:sub(ie1+1, is2-1) --転載注釈を外す is1, ie1, kakko = lyrics:find("(%b())") if is1 ~= nil then if kakko:find("転載") or kakko:find("動画") or kakko:find("ブログ") or kakko:find("歌詞") or kakko:find("書き起こし") or kakko:find("抜粋") or kakko:find("PV") then lyrics = lyrics:sub(1, is1-1) .. lyrics:sub(ie1+1, -1) end end is1,ie1,kakko = lyrics:find("((.-))") if is1 ~= nil then if kakko:find("転載") or kakko:find("動画") or kakko:find("ブログ") or kakko:find("歌詞") or kakko:find("書き起こし") or kakko:find("抜粋") or kakko:find("PV") then lyrics = lyrics:sub(1, is1-1) .. lyrics:sub(ie1+1, -1) end end --HTMLテキストのdiv,改行,ルビ等を消す --\n\n</div>は改行とする lyrics = lyrics:gsub("\n\n</div>", "<br />") lyrics = lyrics:gsub("<div>", "") lyrics = lyrics:gsub("</div>", "") lyrics = lyrics:gsub("\n", "") lyrics = lyrics:gsub("<rt>.-</rt>", "") lyrics = lyrics:gsub("<rp>.-</rp>", "") lyrics = lyrics:gsub("<rb>", "") lyrics = lyrics:gsub("</rb>", "") lyrics = lyrics:gsub("<ruby>", "") lyrics = lyrics:gsub("</ruby>", "") lyrics = lyrics:gsub("<span.->", "") lyrics = lyrics:gsub("</span>", "") lyrics = lyrics:gsub("<!\-\-.-\-\->", "") lyrics = lyrics:gsub("<a .->", "") lyrics = lyrics:gsub("</a>", "") lyrics = lyrics:gsub("<p>", "") lyrics = lyrics:gsub("</p>", "") lyrics = lyrics:gsub("<font .->", "") lyrics = lyrics:gsub("</font>", "") lyrics = lyrics:gsub("<big>", "") lyrics = lyrics:gsub("</big>", "") lyrics = lyrics:gsub("<small>", "") lyrics = lyrics:gsub("</small>", "") lyrics = lyrics:gsub("<b>", "") lyrics = lyrics:gsub("</b>", "") lyrics = lyrics:gsub("<i>", "") lyrics = lyrics:gsub("</i>", "") lyrics = lyrics:gsub("<s>", "") lyrics = lyrics:gsub("</s>", "") lyrics = lyrics:gsub("<strike>", "") lyrics = lyrics:gsub("</strike>", "") lyrics = lyrics:gsub("<u>", "") lyrics = lyrics:gsub("</u>", "") lyrics = lyrics:gsub("<tt>", "") lyrics = lyrics:gsub("</tt>", "") lyrics = lyrics:gsub("<em>", "") lyrics = lyrics:gsub("</em>", "") lyrics = lyrics:gsub("<strong>", "") lyrics = lyrics:gsub("</strong>", "") lyrics = lyrics:gsub("<sup>", "") lyrics = lyrics:gsub("</sup>", "") lyrics = lyrics:gsub("<sub>", "") lyrics = lyrics:gsub("</sub>", "") lyrics = lyrics:gsub("<blockquote>", "") lyrics = lyrics:gsub("</blockquote>", "") lyrics = lyrics:gsub("<q>", "") lyrics = lyrics:gsub("</q>", "") lyrics = lyrics:gsub("<pre>", "") lyrics = lyrics:gsub("</pre>", "") lyrics = lyrics:gsub("<code>", "") lyrics = lyrics:gsub("</code>", "") --<br />を改行にする lyrics = lyrics:gsub("<br />", "\r\n") --行頭と行末の改行を削除 while lyrics:sub(1,2) == "\r\n" do lyrics = lyrics:sub(3) end while lyrics:sub(-2) == "\r\n" do lyrics = lyrics:sub(1,-3) end --行末の空白文字を削除 lyrics = lyrics:gsub("\s-\r\n", "\r\n") lyrics = lyrics:gsub(" -\r\n", "\r\n") --特殊文字 lyrics = lyrics:gsub("<", "<") lyrics = lyrics:gsub(">", ">") lyrics = lyrics:gsub(" ", " ") lyrics = lyrics:gsub(""", "\"") lyrics = lyrics:gsub("&", "&") --タイトルを取り出す title = html:match("<h2>.-<a .->(.-)</a>.-</h2>") --特殊文字 title = title:gsub("<", "<") title = title:gsub(">", ">") title = title:gsub(" ", " ") title = title:gsub(""", "\"") title = title:gsub("&", "&") --アーティスト名を取り出す artist = html:match("</h2>.-作曲.-<a.->(.-)</a>.-<h3") --特殊文字 artist = artist:gsub("<", "<") artist = artist:gsub(">", ">") artist = artist:gsub(" ", " ") artist = artist:gsub(""", "\"") artist = artist:gsub("&", "&") return "LYRICS="..lyrics, "TITLE="..title, "ARTIST="..artist end --2017.4.16 </LuaScript> }} #comment
テキスト整形のルールを表示する