This is my script, I use it for some time, and works perfectly.
This is modified Romor's script. It hase future to save Bio.txt files, and display them later..
It first search for: last.fm bio, if not found > then search for Wikipedia bio, if not found > then display text(I don't like blank panel).
*You can enter your own text.
You must enter path location, where to save Bio.txt files.
THANKS ROMOR FOR THIS SCRIPT..
folder = "ENTER YOUR FOLDER"
On Error resume Next
With CreateObject("ADODB.Stream")
.Open
.Type = 2
.Charset = "utf-8"
.LoadFromFile folder & "\" & WScript.Arguments.Item(0) & ".txt"
If Len(.Size) > 1 Then
WScript.Echo .ReadText
.Close
Else
.WriteText WScript.Arguments.Item(0)
.Flush
.Position = 0
.Type = 1
.Read = 3
For i = 1 To .Size-3
param = param & "%" & Hex(AscB(.Read(1)))
Next
.Close
Set xml = CreateObject("MSXML2.DOMDocument.6.0") : xml.async = False
xml.load("http://developer.echonest.com/api/v4/artist/biographies?api_key=OQMRCUVWC6PULGN2G&license=cc-by-sa&format=xml&name=" & param)
bio = xml.selectSingleNode("/response/biographies/biography/text[../site='last.fm']").text
If Len(bio) Then
bio = Replace(Replace(bio, ". ", "." & vbCrLf & vbCrLf), ". ", "." & vbCrLf & vbCrLf)
.Open
.Type = 2
.Position = 0
.Charset = "utf-8"
.WriteText bio
.SaveToFile folder & "\" & WScript.Arguments.Item(0) & ".txt"
.Close
WScript.Echo bio
Else
Set xml = CreateObject("MSXML2.DOMDocument.6.0") : xml.async = False
xml.load("http://developer.echonest.com/api/v4/artist/biographies?api_key=OQMRCUVWC6PULGN2G&license=cc-by-sa&format=xml&name=" & param)
bio = xml.selectSingleNode("/response/biographies/biography/text[../site='last.fm']").text
If Len(bio) Then
bio = Replace(Replace(bio, ". ", "." & vbCrLf & vbCrLf), ". ", "." & vbCrLf & vbCrLf)
.Open
.Type = 2
.Position = 0
.Charset = "utf-8"
.WriteText bio
.SaveToFile folder & "\" & WScript.Arguments.Item(0) & ".txt"
.Close
WScript.Echo bio
Else
Set xml = CreateObject("MSXML2.DOMDocument.6.0") : xml.async = False
xml.load("http://developer.echonest.com/api/v4/artist/biographies?api_key=OQMRCUVWC6PULGN2G&license=cc-by-sa&format=xml&name=" & param)
bio = (("WIKIPEDIA:" & vbCrLf & vbCrLf)) & xml.selectSingleNode("/response/biographies/biography/text[../site='wikipedia']").text
If Len(bio) Then
bio = Replace(Replace(bio, ". ", "." & vbCrLf & vbCrLf), ". ", "." & vbCrLf & vbCrLf)
.Open
.Type = 2
.Position = 0
.Charset = "utf-8"
.WriteText bio
.SaveToFile folder & "\" & WScript.Arguments.Item(0) & ".txt"
.Close
WScript.Echo bio
Else
WScript.Echo "We can't find biography for this artist. Maybe your tags are incorrect or you lose internet connection. Please note that latest one tag ''artist'' must be corrected field.. If your tag is alredy properly field, that means that thoes artist is unknown, or you enter misspeled name. Also when you played radio stream, some station does not send information about artist, so this also causes problem." & vbCrLf & "Thank you for understending.." & vbCrLf & "For further information, and posible solution, check this site:" & vbCrLf & "http://www.hydrogenaudio.org/forums/index.php?showtopic=70955." & vbCrLf & "Your Foobar theam.."
End If
End If
End If
End If
End With