1
0
mirror of https://github.com/clementine-player/Clementine synced 2024-12-22 15:58:45 +01:00
Clementine-audio-player-Mac.../data/lyrics/ultimate_providers.xml
Marcus Müller 2a14ec9d4d Lyrics Providers: Remove unreachable ones
This was determined programmatically by means of trying to do a simple
HTTP request to / of any of the URLs given:

```python
from lxml import etree
from urllib import parse
import requests
doc = etree.parse("ultimate_providers.xml")
root = doc.getroot()
for provider in root:
    parsed_url = parse.urlparse(provider.get("url"))
    url = f"{parsed_url.scheme}://{parsed_url.netloc}/"
    try:
        requests.head(url, timeout=5)
    except Exception as e:
        print(parsed_url.netloc)
```

Note that these were also removed from songinfoview as present, and from
outgoingdatacreator. The two lists there were found to be inconsistent,
but this isn't subject of this PR.

Signed-off-by: Marcus Müller <marcus_clementine@baseband.digital>
2023-09-12 13:33:01 +01:00

267 lines
13 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<lyricproviders>
<provider name="azlyrics.com" title="{artist} LYRICS - {title}" charset="utf-8" url="http://www.azlyrics.com/lyrics/{artist}/{title}.html">
<urlFormat replace=" ._@,;&amp;\/()'&quot;-" with=""/>
<extract>
<item begin="&lt;!-- Usage of azlyrics.com content by any third-party lyrics provider is prohibited by our licensing agreement. Sorry about that. --&gt;" end="&lt;/div&gt;"/>
</extract>
<exclude>
<item tag="&lt;B&gt;"/>
<item begin="&lt;i&gt;[" end="]&lt;/i&gt;"/>
<item begin="[" end="]"/>
</exclude>
<invalidIndicator value="&lt;h1&gt;Welcome to AZLyrics!&lt;/h1&gt;"/>
</provider>
<provider name="bollywoodlyrics.com (Bollywood songs)" title="{title} Song Lyrics - BollywoodLyrics.com" charset="utf-8" url="http://www.bollywoodlyrics.com/lyric/{Title}">
<urlFormat replace=" _@;\/&quot;'()[]" with="-"/>
<urlFormat replace="?" with=""/>
<extract>
<item begin="&lt;div class=&quot;entry-content&quot;&gt;" end="&lt;/div&gt;"/>
</extract>
<invalidIndicator value="Couldn't find that page."/>
</provider>
<provider name="darklyrics.com" title ="{ARTIST} LYRICS - &quot;{title}&quot; ({year}) album" charset="utf-8" url="http://www.darklyrics.com/lyrics/{artist2}/{album2}.html">
<extract>
<item begin="&lt;h3&gt;&lt;a name=&quot;{track}&quot;&gt;{track}. {Title2}&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;" end="&lt;h3&gt;"/>
</extract>
<extract>
<item begin="&lt;h3&gt;&lt;a name=&quot;{track}&quot;&gt;{track}. {Title2}&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;" end="&lt;div class=&quot;thanks&quot;&gt;"/>
</extract>
<invalidIndicator value="The page you requested was not found on DarkLyrics.com."/>
</provider>
<provider name="directlyrics.com" title="{artist} - {title} lyrics" charset="iso-8859-1" url="http://www.directlyrics.com/{artist}-{title}-lyrics.html">
<urlFormat replace=" _@,;&amp;\/'&quot;" with="-"/>
<urlFormat replace="." with=""/>
<extract>
<item tag="&lt;div id=&quot;lyricsContent&quot;&gt;"/>
<item tag="&lt;p&gt;"/>
</extract>
<exclude>
<item begin="&lt;b&gt;" end="&lt;/b&gt;"/>
</exclude>
</provider>
<provider name="elyrics.net" title="{title} Lyrics - {artist}" charset="iso-8859-1" url="http://www.elyrics.net/read/{a}/{artist}-lyrics/{title}-lyrics.html">
<urlFormat replace=" _@;&amp;\/&quot;" with="-"/>
<urlFormat replace="'" with="_"/>
<extract>
<item tag="&lt;div class='ly' style='font-size:12px;'&gt;"/>
</extract>
<exclude>
<item tag="&lt;strong&gt;"/>
<item tag="&lt;em&gt;"/>
</exclude>
<invalidIndicator value="Page not Found"/>
</provider>
<provider name="Encyclopaedia Metallum" title="{title Lyrics - {artist}" charset="utf-8" url="http://www.metal-archives.com/search/ajax-advanced/searching/songs/?songTitle={title}&amp;bandName={artist}&amp;ExactBandMatch=1">
<extract>
<item url="http://www.metal-archives.com/release/ajax-view-lyrics/id/{id}"/>
<item begin="id=\&quot;lyricsLink_" end="&quot;"/>
</extract>
<invalidIndicator value="&quot;iTotalRecords&quot;: 0"/>
<invalidIndicator value="lyrics not available"/>
</provider>
<provider name="genius.com" charset="utf-8" url="https://www.genius.com/{artist}-{title}-lyrics">
<urlFormat replace=",._@!#%^*+;\/&quot;'()[]" with=""/>
<urlFormat replace=" :" with="-"/>
<!-- When $ is used as the dollar sign it is omitted from the url
When $ is used instead of 's',
in some cases it is replaced by 's'(Too $hort -> too-short)
in other cases it is omitted ($uicideboy$ -> uicideboy)
I chose to omit it though, in some cases it's gonna be problematic -->
<urlFormat replace="$" with=""/>
<urlFormat replace="ÄÂÀÁÃäâàáã" with="a"/>
<urlFormat replace="ËÊÈÉëêèé" with="e"/>
<urlFormat replace="ÏÌïì" with="i"/>
<urlFormat replace="ÖÔÒÓÕöôòóõ" with="o"/>
<urlFormat replace="ÜŪÙÚüūùú" with="u"/>
<urlFormat replace="ŸÝÿý" with="y"/>
<urlFormat replace="Ññ" with="n"/>
<urlFormat replace="Çç" with="c"/>
<urlFormat replace="ß" with="ss"/>
<urlFormat replace="&amp;" with="and"/>
<extract>
<item tag="&lt;div class=&quot;lyrics&quot;&gt;"/>
</extract>
<exclude>
<item begin="&lt;!--" end="--&gt;"/>
<item begin="&lt;a href=" end="&gt;"/>
<item begin="&lt;/a" end="&gt;"/>
</exclude>
</provider>
<provider name="letras.mus.br" title="" charset="utf-8" url="https://www.letras.mus.br/winamp.php?musica={title}&amp;artista={artist}">
<urlFormat replace="_@,;&amp;\/&quot;" with="_"/>
<urlFormat replace=" " with="+"/>
<extract>
<item begin="&lt;/div&gt;" end="&lt;/div&gt;"/>
</extract>
<invalidIndicator value="Verifique se o nome do seu arquivo e sua"/>
</provider>
<provider name="lololyrics.com" title="" charset="utf-8" url="http://api.lololyrics.com/0.5/getLyric?artist={artist}&amp;track={title}">
<urlFormat replace="_@,;&amp;\/&quot;#" with="_"/>
<extract>
<item tag="&lt;response&gt;"/>
</extract>
<invalidIndicator value="ERROR"/>
</provider>
<provider name="lyrics.com" title="{artist} - {title} Lyrics" charset="utf-8" url="http://www.lyrics.com/lyrics/{artist}/{title}.html">
<urlFormat replace=" _@,;&amp;\/&quot;" with="-"/>
<urlFormat replace="'." with=""/>
<extract>
<item tag="&lt;div id=&quot;lyrics&quot; class=&quot;SCREENONLY&quot;&gt;"/>
</extract>
<exclude>
<item begin="&lt;br&gt;&lt;br&gt;&lt;a target='_blank'" end="&gt;&lt;/a&gt;"/>
</exclude>
<invalidIndicator value="Click to search for the Lyrics on Lyrics.com"/>
<invalidIndicator value="we do not have the lyric for this song"/>
</provider>
<provider name="lyrics.wikia.com" title="{artist}:{title} Lyrics - " charset="utf-8" url="http://lyrics.wikia.com/{Artist}:{Title}">
<urlFormat replace=" _@;\&quot;" with="_"/>
<urlFormat replace="?" with="%3F"/>
<extract>
<item begin="&lt;div class='lyricbox'&gt;" end="&lt;div class='lyricsbreak'"/>
</extract>
<exclude>
<item tag="&lt;div class='rtMatcher'&gt;"/>
<item tag="&lt;span style=&quot;padding:1em&quot;&gt;"/>
</exclude>
</provider>
<provider name="lyricsbay.com" title="{title} lyrics {artist}" charset="iso-8859-1" url="http://www.lyricsbay.com/{title}_lyrics-{artist}.html">
<urlFormat replace=" _@,;&amp;\/'&quot;" with="_"/>
<urlFormat replace="." with=""/>
<extract>
<item tag="&lt;div id=EchoTopic&gt;"/>
</extract>
<exclude>
<item tag="&lt;textarea name=&quot;songscpy&quot; id=&quot;songscpyid&quot; onclick=&quot;callselect('songscpyid','selectswf')&quot; rows=&quot;3&quot; cols=&quot;45&quot; READONLY&gt;"/>
</exclude>
</provider>
<provider name="lyricsdownload.com" title="{artist} - {title} LYRICS" charset="utf-8" url="http://www.lyricsdownload.com/{artist}-{title}-lyrics.html">
<urlFormat replace=" _@,;&amp;\/&quot;" with="-"/>
<urlFormat replace="." with=""/>
<extract>
<item tag="&lt;div id=&quot;div_customCSS&quot;&gt;"/>
</extract>
<invalidIndicator value="We haven't lyrics of this song"/>
</provider>
<provider name="lyricsmania.com" title="{artist} - {title} Lyrics" charset="iso-8859-1" url="http://www.lyricsmania.com/{title}_lyrics_{artist}.html">
<urlFormat replace=" _@;&amp;\/&quot;'." with="_"/>
<extract>
<item begin="&lt;span style=&quot;font-size:14px;&quot;&gt;" end="&lt;span style=&quot;font-size:14px;&quot;&gt;"/>
<item begin="&lt;/center&gt;" end="&lt;a"/>
</extract>
<invalidIndicator value="The lyrics you requested is not in our archive yet,"/>
</provider>
<provider name="lyricsmode.com" title="{artist} - {title} lyrics" charset="iso-8859-1" url="http://www.lyricsmode.com/lyrics/{a}/{artist}/{title}.html">
<urlFormat replace=" ._@,;&amp;\/&quot;" with="_"/>
<extract>
<item tag="&lt;div id='songlyrics_h' class='dn'&gt;"/>
</extract>
<invalidIndicator value="Sorry, we have no"/>
</provider>
<provider name="lyricsplugin.com" title="{artist} - {title} Lyrics" charset="utf-8" url="http://www.lyricsplugin.com/winamp03/plugin/?title={title}&amp;artist={artist}">
<urlFormat replace="_@;&amp;\/&quot;" with="-"/>
<urlFormat replace="'" with=""/>
<urlFormat replace=" " with="%20"/>
<extract>
<item tag="&lt;div id=&quot;lyrics&quot;&gt;"/>
</extract>
</provider>
<provider name="lyricsreg.com" title="{title} lyrics {artist}" charset="iso-8859-1" url="http://www.lyricsreg.com/lyrics/{artist}/{title}/">
<urlFormat replace=" _@,;&amp;\/&quot;" with="+"/>
<urlFormat replace="'." with=""/>
<extract>
<item begin="Ringtone to your Cell" end="Ringtone to your Cell"/>
<item begin="&lt;div style=&quot;text-align:center;&quot;&gt;" end="&lt;a"/>
</extract>
<invalidIndicator value="Page not Found"/>
</provider>
<provider name="lyriki.com" title="" charset="utf-8" url="http://www.lyriki.com/{artist}:{title}">
<urlFormat replace=" _@,;&amp;\/&quot;" with="_"/>
<urlFormat replace="." with=""/>
<extract>
<item begin="&lt;/table&gt;" end="&lt;div class=&quot;printfooter&quot;&gt;"/>
<item tag="&lt;p&gt;"/>
</extract>
</provider>
<provider name="mp3lyrics.org" title="{artist} &amp;quot;{title}&amp;quot; Lyrics" charset="utf-8" url="http://www.mp3lyrics.org/{a}/{artist}/{title}/">
<urlFormat replace=" _@,;&amp;\/&quot;" with="-"/>
<urlFormat replace="'." with=""/>
<extract>
<item tag="&lt;span id=gn_lyricsB&gt;"/>
</extract>
<extract>
<item tag="&lt;div class=&quot;KonaBody&quot; id=&quot;EchoTopic&quot;&gt;"/>
</extract>
<exclude>
<item tag="&lt;font size=2&gt;"/>
<item begin="&lt;b&gt;&lt;i&gt;" end="&lt;/u&gt;&lt;/b&gt;:"/>
<item begin="&lt;b&gt;Lyrics" end="&lt;/b&gt;"/>
</exclude>
<invalidIndicator value="Something went wrong"/>
</provider>
<provider name="musixmatch.com" title="{artist} - {title} lyrics | Musixmatch" charset="utf-8" url="https://www.musixmatch.com/lyrics/{Artist}/{Title}">
<urlFormat replace=" _@;\/&quot;'()[]" with="-"/>
<urlFormat replace="?" with=""/>
<extract>
<item begin="&lt;span id=&quot;lyrics-html&quot;" end="&lt;/span&gt;"/>
</extract>
<exclude>
<item begin=" data-reactid=&quot;" end="&quot;&gt;"/>
</exclude>
<invalidIndicator value="We couldn't find that page."/>
</provider>
<provider name="songlyrics.com" title="{title} LYRICS - {artist}" charset="utf-8" url="http://www.songlyrics.com/{artist}/{title}-lyrics/">
<urlFormat replace=" ._@,;&amp;\/&quot;" with="-"/>
<urlFormat replace="'" with="_"/>
<extract>
<item tag="&lt;p id=&quot;songLyricsDiv&quot; ondragstart=&quot;return false;&quot; onselectstart=&quot;return false;&quot; oncontextmenu=&quot;return false;&quot; class=&quot;songLyricsV14&quot; style=&quot;font-size: 14px;z-index: 9999;position: absolute;left: -6000px;&quot;&gt;"/>
</extract>
<exclude>
<item begin="&#10;[" end="] "/>
</exclude>
<invalidIndicator value="Sorry, we have no"/>
<invalidIndicator value="This is an upcoming album and we do not have the"/>
</provider>
<provider name="tekstowo.pl (Original lyric language)" title="{artist} - {title} - tekst" charset="utf-8" url="http://www.tekstowo.pl/piosenka,{artist},{title}.html">
<urlFormat replace=" _@,;&amp;\/'&quot;." with="_"/>
<extract>
<item begin="&lt;div class=&quot;song-text&quot;&gt;" end="&lt;a href=&quot;javascript:;&quot;"/>
</extract>
<extract>
<item tag="&lt;div class=&quot;tlumaczenie&quot;&gt;"/>
</extract>
<exclude>
<item begin="&lt;h2&gt;" end="&lt;/h2&gt;&lt;br /&gt;"/>
</exclude>
</provider>
<provider name="tekstowo.pl (Translated to Polish)" title="{artist} - {title} - tekst" charset="utf-8" url="http://www.tekstowo.pl/piosenka,{artist},{title}.html">
<urlFormat replace=" _@,;&amp;\/'&quot;." with="_"/>
<extract>
<item begin="&lt;div id=&quot;translation&quot; class=" end="&lt;a href="/>
</extract>
<exclude>
<item begin="&quot;id-" end="&quot;&gt;"/>
</exclude>
</provider>
<provider name="teksty.org" title="{artist} - {title} - tekst" charset="utf-8" url="http://teksty.org/{artist},{title},tekst-piosenki">
<urlFormat replace=" _@,;&amp;\/&quot;'" with="-"/>
<urlFormat replace="." with=""/>
<extract>
<item begin="&lt;div class=&quot;songText&quot; id=&quot;songContent&quot;&gt;" end="&lt;/div&gt;"/>
</extract>
</provider>
<provider name="vagalume.com.br" title="{title} de {artist} no VAGALUME" charset="iso-8859-1" url="http://vagalume.com.br/{artist}/{title}.html">
<urlFormat replace=" _@,;&amp;\/'&quot;." with="-"/>
<extract>
<item tag="&lt;span class=&quot;editable_area&quot;&gt;"/>
</extract>
</provider>
<provider name="vagalume.com.br (Portuguese translations)" title="{title} de {artist} no VAGALUME" charset="iso-8859-1" url="http://vagalume.com.br/{artist}/{title}-traducao.html">
<urlFormat replace=" _@,;&amp;\/'&quot;." with="-"/>
<extract>
<item tag="&lt;div class=&quot;tab_traducao sideBySide lyricArea tab_tra_pt&quot;&gt;"/>
</extract>
</provider>
</lyricproviders>