- 追加された行はこの色です。
- 削除された行はこの色です。
#set_tags(歌詞取得スクリプト)
#pre{{
<SiteTitle>東方同人CDの歌詞@wiki</SiteTitle>
<SiteSearchURL>[TITLE] site:www31.atwiki.jp/touhoukashi/pages/</SiteSearchURL>
<LuaScript>
function LyricsInfoGet(html)
--記事部分を取り出す
is1, ie1 = html:find("<div class=\"contents\" id=\"content\">",1)
--無いときは抜ける
if is1 == nil then
return
end
is2, ie2 = html:find("<div class=\"ads\">", ie1+1, 1)
body = html:sub(ie1+1, is2-1)
--記事から歌詞を取り出す
--歌詞の頭を探す
is2 = 0
is1 = body:find("^アルバム")
if is2 < is1 then is2=is1 end
is1 = body:find("^サークル")
if is2 < is1 then is2=is1 end
is1 = body:find("^Vocal")
if is2 < is1 then is2=is1 end
is1 = body:find("^vocal")
if is2 < is1 then is2=is1 end
is1 = body:find("^VOCAL")
if is2 < is1 then is2=is1 end
is1 = body:find("^原曲")
if is2 < is1 then is2=is1 end
is1,ie2 = body:find("\n",is2)
--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>", "")
--<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("<", "<")
lyrics = lyrics:gsub(">", ">")
lyrics = lyrics:gsub(" ", " ")
lyrics = lyrics:gsub(""", "\"")
lyrics = lyrics:gsub("&", "&")
--タイトルを取り出す
title = body:match("<h1 class=\"item\">.-</h1>")
title = title:gsub("<a .->","")
title = title:gsub("</a>","")
--特殊文字
title = title:gsub("<", "<")
title = title:gsub(">", ">")
title = title:gsub(" ", " ")
title = title:gsub(""", "\"")
title = title:gsub("&", "&")
--アーティスト名を取り出す
artist = body:match("サークル.-\n")
artist = artist:gsub("<a .->","")
artist = artist:gsub("</a>","")
artist = artist:gsub("<br />","")
artist = artist:gsub("^サークル","")
--特殊文字
artist = artist:gsub("<", "<")
artist = artist:gsub(">", ">")
artist = artist:gsub(" ", " ")
artist = artist:gsub(""", "\"")
artist = artist:gsub("&", "&")
repeat
artist_ = artist
artist = artist:gsub("^ ","")
artist = artist:gsub("^ ","")
artist = artist:gsub("^:","")
artist = artist:gsub("^:","")
until artist_ == artist
return "LYRICS="..lyrics, "TITLE="..title, "ARTIST="..artist
end
</LuaScript>
}}
#comment