# \[WS\] RateYourMusic

**URL:** https://community.mp3tag.de/t/ws-rateyourmusic/8995
**Category:** Web Sources Scripts
**Created:** [September 21, 2009, 11:30am UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995 "2009-09-21T11:30:28Z")
**Posts on this page:** 20
**Page:** 4

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [October 17, 2022, 9:52pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/61 "2022-10-17T21:52:27Z")

</div>

> [@nathbot](#):
>
> (and I'll probably test as slowly as possible to avoid triggering some IP ban!)

You can create a local copy of the website or the API data. Then you can test as many times you want and need to fix this Web Sources Script.

---

<div class="post-metadata">

### Author: ![nathbot](https://community.mp3tag.de/user_avatar/community.mp3tag.de/nathbot/32/9028_2.png) [@nathbot](https://community.mp3tag.de/u/nathbot)
#### Post date: [October 20, 2022, 5:24pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/62 "2022-10-20T17:24:51Z")

</div>

Phew, it wasn't easy to dive back into the web sources framework after all these years.

> You can create a local copy of the website or the API data. Then you can test as many times you want and need to fix this Web Sources Script.

Not a bad tip, but there is no API on RYM... 🙂 I did manage to do something with static HTML pages for the album details, but for some reason mp3tag returned a 404 error when I tried to do that for the search.

Anyway, I was able to get something working with a few examples (regular, with discs, split album, various artists, non-latin artist name...). Here is the update:  
[Dropbox - RateYourMusic 5.0](https://www.dropbox.com/s/knahgnron8nxkzq/RateYourMusic_5.0.zip?dl=0)  
If you encounter any issue, let me know, I probably missed some cases.

---

<div class="post-metadata">

### Author: ![MilesMetal](https://community.mp3tag.de/user_avatar/community.mp3tag.de/milesmetal/32/12268_2.png) [@MilesMetal](https://community.mp3tag.de/u/MilesMetal)
#### Post date: [October 20, 2022, 5:57pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/63 "2022-10-20T17:57:24Z")

</div>

Thanks so much for doing this. So far it's worked for everything I've thrown at it.

---

<div class="post-metadata">

### Author: ![nathbot](https://community.mp3tag.de/user_avatar/community.mp3tag.de/nathbot/32/9028_2.png) [@nathbot](https://community.mp3tag.de/u/nathbot)
#### Post date: [October 20, 2022, 7:57pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/64 "2022-10-20T19:57:47Z")

</div>

I think I messed up the Various Artists, I'll look into it with a fresher brain over the weekend.  
But if it's already working well enough with the rest, that's a good start. 🙂

---

<div class="post-metadata">

### Author: ![User\_name](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/u/bbce88/32.png) [@User\_name](https://community.mp3tag.de/u/User_name)
#### Post date: [October 21, 2022, 3:26am UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/65 "2022-10-21T03:26:23Z")

</div>

Thanks for your script.

So far I've done copy and paste with [UI.Vision RPA](https://ui.vision/), but it looks easier with mp3tag.

I would like to get these 4 tags:

- Primary genres
- Secondary genres (in a separate tag)
- Descriptors
- Artist genres (on the artist page).

For the first three, I modified your script, (I don't know what it's worth, I don't know anything about it, but it seems to work).  
I changed the separator from "; " to "\\" so that it's several values instead of one.  
[https://paste.myst.rs/nw8julte](https://paste.myst.rs/nw8julte)

I would like to have Artist genres (on the artist's page). I have started to modify the script to look for the artist's page, but it is too complicated for me.  
Is it possible to get Artist genres in this script or with another one?

---

<div class="post-metadata">

### Author: ![nathbot](https://community.mp3tag.de/user_avatar/community.mp3tag.de/nathbot/32/9028_2.png) [@nathbot](https://community.mp3tag.de/u/nathbot)
#### Post date: [October 21, 2022, 3:44pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/66 "2022-10-21T15:44:07Z")

</div>

Hi User\_name,  
I don't mind at all adding what you propose, but may I ask why you use "\\" as separator instead of ";"?  
Is it the separator used by a particular music software, or is it broadly used?

After years with foobar2000 I switched to MusicBee. MusicBee and foobar both use ";", so I've assumed it's the most common...

---

<div class="post-metadata">

### Author: ![MotleyG](https://community.mp3tag.de/user_avatar/community.mp3tag.de/motleyg/32/440_2.png) [@MotleyG](https://community.mp3tag.de/u/MotleyG)
#### Post date: [October 21, 2022, 3:46pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/67 "2022-10-21T15:46:44Z")

</div>

> [@nathbot](#):
>
> After years with foobar2000 I switched to MusicBee. MusicBee and foobar both use ";", so I've assumed it's the most common...

This "; " is also used in WMP, as well as several mobile player apps.

---

<div class="post-metadata">

### Author: ![nathbot](https://community.mp3tag.de/user_avatar/community.mp3tag.de/nathbot/32/9028_2.png) [@nathbot](https://community.mp3tag.de/u/nathbot)
#### Post date: [October 21, 2022, 4:58pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/68 "2022-10-21T16:58:01Z")

</div>

> [@MotleyG](#):
>
> This "; " is also used in WMP, as well as several mobile player apps.

Good to know. In that case, I'll stick with ";" to suit most people's needs, and User\_name you can edit for your own needs. Sorry!

Here is version 5.1 with those 3 new tags. From User\_name's code, I just also changed "RYM ..." into "RATEYOURMUSIC ..." to match the others that are already added by the script.  
This version also fixes the issues I encountered in Various Artists (for example Kill Bill vol.1 wasn't working at all).

[Dropbox - RateYourMusic 5.1](https://www.dropbox.com/s/knahgnron8nxkzq/RateYourMusic_5.1.zip?dl=0)

As for getting Artist genres from the artist's page, I'll look into it. A workaround to the "index then album" workflow might be to make a separate script pretending that the artist's page is the album page, and get the artist's tags like that.

Stay tuned... 🤓

---

<div class="post-metadata">

### Author: ![MotleyG](https://community.mp3tag.de/user_avatar/community.mp3tag.de/motleyg/32/440_2.png) [@MotleyG](https://community.mp3tag.de/u/MotleyG)
#### Post date: [October 21, 2022, 5:45pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/69 "2022-10-21T17:45:20Z")

</div>

> [@nathbot](#):
>
> I don't mind at all adding what you propose, but may I ask why you use `"\\"` as separator instead of ";"?  
> Is it the separator used by a particular music software, or is it broadly used?

To the best of my knowledge, this is only used by mp3tag as an internal modifier to split the artist fields when saving. I am not aware of any players or servers that use `"\\"` as a default separator.

---

<div class="post-metadata">

### Author: ![User\_name](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/u/bbce88/32.png) [@User\_name](https://community.mp3tag.de/u/User_name)
#### Post date: [October 21, 2022, 7:15pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/70 "2022-10-21T19:15:40Z")

</div>

Thanks for your improvements and answers.

Yes, I think that "\\" is the multi-field separator used by Mp3tag (unless it's a setting ? but I didn't find it).  
Look at the difference between "your" tag with a semicolon and "mine" with two backslashes. This is the Extended Tags panel of Mp3tag. This result is obtained with version 5.1 of your script.

 ![Mp3tag modif](https://community.mp3tag.de/uploads/default/original/2X/4/4a57febc67a47c2178aac42e6e8df30622d76053.png)

The semicolon is not interpreted as a separator by Mp3tag. If there are several values they are all in one, and (unless I'm mistaken) that's what the other players will see.

I know that ";" is the separator of foobar2000. I think the difference is not well visible in foobar2000, in both cases foobar shows the values on one line with semicolons.  
In foobar2000, if I modify a Genre value for a file: I add a space, I save, I remove this space, I save. Then I compare with the other tracks of the album : it should be the same. However foobar says «multiple values»: the results are different. Foobar has split the values during saving and on the other files (tagged with your script with the semicolon separator) the values are not split.

Here's all I found in the documentation:  
[https://docs.mp3tag.de/getting-started/main-window/#multiple-fields](https://docs.mp3tag.de/getting-started/main-window/#multiple-fields)  
[https://docs.mp3tag.de/customization/file-list/#editing-columns](https://docs.mp3tag.de/customization/file-list/#editing-columns)  
Otherwise there are several topics on the forum.

I use foobar2000 with this: [Search-by-Distance-SMP](https://github.com/regorxxx/Search-by-Distance-SMP). It makes a difference with this.

---

<div class="post-metadata">

### Author: ![MotleyG](https://community.mp3tag.de/user_avatar/community.mp3tag.de/motleyg/32/440_2.png) [@MotleyG](https://community.mp3tag.de/u/MotleyG)
#### Post date: [October 21, 2022, 7:25pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/71 "2022-10-21T19:25:47Z")

</div>

> [@User\_name](#):
>
> I think that "\" is the multi-field separator used by Mp3tag (unless it's a setting ? but I didn't find it).  
> Look at the difference between "your" tag with a semicolon and "mine" with two backslashes. This is the Extended Tags panel of Mp3tag. This result is obtained with version 5.1 of your script.

This really depends on the media manager and player of choice for each user. Many do not support the separated multiple fields like you are showing in that screenshot. Many other players prefer the single line separated by the semicolon "; " used in the script. But if that is your preference, you can use the action Split Field By Separator and define it with the ; to get them this way after running the script.

---

<div class="post-metadata">

### Author: ![User\_name](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/u/bbce88/32.png) [@User\_name](https://community.mp3tag.de/u/User_name)
#### Post date: [October 21, 2022, 7:40pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/72 "2022-10-21T19:40:36Z")

</div>

> [@MotleyG](#):
>
> But if that is your preference, you can use the action Split Field By Separator

Yes, you are right. As nathbot said, I can also edit the script so either way it is ok for me.

---

<div class="post-metadata">

### Author: ![User\_name](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/u/bbce88/32.png) [@User\_name](https://community.mp3tag.de/u/User_name)
#### Post date: [October 22, 2022, 1:32am UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/73 "2022-10-22T01:32:25Z")

</div>

> [@nathbot](#):
>
> As for getting Artist genres from the artist's page, I'll look into it. A workaround to the "index then album" workflow might be to make a separate script pretending that the artist's page is the album page, and get the artist's tags like that.

Good idea, I hadn't thought of that.  
I did this in a second script, and it seems to work.  
Here's what I did: [https://paste.myst.rs/v0yeqll4](https://paste.myst.rs/v0yeqll4)

I'm happy. Thank you!

---

<div class="post-metadata">

### Author: ![nathbot](https://community.mp3tag.de/user_avatar/community.mp3tag.de/nathbot/32/9028_2.png) [@nathbot](https://community.mp3tag.de/u/nathbot)
#### Post date: [October 22, 2022, 1:19pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/74 "2022-10-22T13:19:44Z")

</div>

@User_name thanks for the explanation for your use of "\\", and for the snippet to get the artist's genres.  
I incorporated it into a separate "Search artist data" script, which searches by the artist's name.

It also gets the artist's country in a "COUNTRY" tag, I thought some people might have a use for that.

[Dropbox - RateYourMusic 20221025](https://www.dropbox.com/s/wcvf9834tg4q18o/RateYourMusic_20221022.zip?dl=0)

(using dates seems easier than keeping track of versions, especially if there are 2 scripts now...)

---

<div class="post-metadata">

### Author: ![User\_name](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/u/bbce88/32.png) [@User\_name](https://community.mp3tag.de/u/User_name)
#### Post date: [October 22, 2022, 2:44pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/75 "2022-10-22T14:44:37Z")

</div>

It's much better with the first index window for artists. It's a great job. Thanks a lot.

I saw this, I don't know if it's intentional: line 150, there is no space after the semicolon separator, while there is one on the other script, `";"` instead of `"; "`.

---

<div class="post-metadata">

### Author: ![nathbot](https://community.mp3tag.de/user_avatar/community.mp3tag.de/nathbot/32/9028_2.png) [@nathbot](https://community.mp3tag.de/u/nathbot)
#### Post date: [October 22, 2022, 3:11pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/76 "2022-10-22T15:11:44Z")

</div>

> [@User\_name](#):
>
> I saw this, I don't know if it's intentional: line 150, there is no space after the semicolon separator, while there is one on the other script, `";"` instead of `"; "`.

Not intentional! I added the missing space and updated the zip above.  
Well spotted 🙂

---

<div class="post-metadata">

### Author: ![User\_name](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/u/bbce88/32.png) [@User\_name](https://community.mp3tag.de/u/User_name)
#### Post date: [October 24, 2022, 11:24pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/77 "2022-10-24T23:24:15Z")

</div>

There is an error with the code I gave if there is no secondary genre on the album page.  
I started over and copied the code that was already there.  
Here's what it looks like: [https://paste.myst.rs/i61pejs7](https://paste.myst.rs/i61pejs7)  
I think the Descriptors line is there all the time, even if it's empty. So no need for an "if" for this one.

---

<div class="post-metadata">

### Author: ![nathbot](https://community.mp3tag.de/user_avatar/community.mp3tag.de/nathbot/32/9028_2.png) [@nathbot](https://community.mp3tag.de/u/nathbot)
#### Post date: [November 6, 2022, 12:12pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/78 "2022-11-06T12:12:38Z")

</div>

Update:  
[RateYourMusic 2022-11-06](https://www.dropbox.com/s/ghi18denyrwt0le/RateYourMusic_20221106.zip?dl=0)

It integrates the fix from User\_name on separate RYM primary/secondary genre tags,  
fixes an issue I encountered with an album where the "Released" date had no link tag on the year,  
and fixes a bug when getting artists in some Various Artists releases.

---

<div class="post-metadata">

### Author: ![etownman1985](https://community.mp3tag.de/user_avatar/community.mp3tag.de/etownman1985/32/12727_2.png) [@etownman1985](https://community.mp3tag.de/u/etownman1985)
#### Post date: [December 2, 2022, 3:08am UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/79 "2022-12-02T03:08:26Z")

</div>

I was wondering if it is possible to have the genre field just display the first genre if that is possible.

---

<div class="post-metadata">

### Author: ![waterproof](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/w/f19dbf/32.png) [@waterproof](https://community.mp3tag.de/u/waterproof)
#### Post date: [January 28, 2023, 1:47pm UTC](https://community.mp3tag.de/t/ws-rateyourmusic/8995/80 "2023-01-28T13:47:58Z")

</div>

@nathbot Thanks for your work on the script !

I can't get it to work, though.

If I search the album I get : ERROR(L96): unknown command 'killtag'  
If I search the artist data, I get : ERROR(L39/findinline): text not found.

[Previous page](https://community.mp3tag.de/t/ws-rateyourmusic/8995.md?page=3)

[Next page](https://community.mp3tag.de/t/ws-rateyourmusic/8995.md?page=5)
