Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from urllib2 import urlopen
- #method 1
- def getDownUrl(id):
- #get location #xml
- location = urlopen("http://www.xiami.com/widget/xml-single/sid/"+repr(id)).read()
- begin = location.index("<location>")+19
- end = location.index("</location>")-3
- location = location[begin:end]
- #ready to decode
- List = []
- result = ""
- col = int(location[0])
- location = location[1:]
- pattLen = len(location) / col
- mod = len(location) % col
- #enjoy my terrible indices
- for i in range(0,col):
- List.append(location[:pattLen])
- if mod != 0:
- List[i] += location[pattLen]
- mod -=1
- location = location[len(List[i]):]
- i+=1
- #rebuild the download link
- for i in range(0,pattLen+1):
- for j in range(0,col):
- if i<len(List[j]):
- result += List[j][i]
- j +=1
- i+=1
- #some strange patches
- return result.replace("%5E","0").replace("%3A",":").replace("%2F","/").replace("%2520"," ")
- #method 2
- def getDownloadUrl(id):
- location = urlopen("http://www.xiami.com/app/iphone/song/id/"+repr(id)).read() #android is accepted as well #json
- begin = location.index("location")+11
- end = location.index("low_size")-3
- result = location[begin:end].replace("\\","")
- return result
- id = 1769629542 #Good???! T-Pistonz+KMC
- print "method 2"
- print(getDownloadUrl(id))
- print "method 1"
- print(getDownUrl(id))
- #china ip is NOT necessary
- '''
- method 2
- http://f3.xiami.net/62500/389998/01 1769629542_1437588.mp3
- method 1
- http://f3.xiami.net/62500/389998/01 1769629542_1437588.mp3
- '''
- #other api list #found in xiami.apk
- '''
- url_action_fav = "http://www.xiami.com/app/android/fav?id={id}&type={type}";
- url_action_unfav = "http://www.xiami.com/app/android/unfav?id={id}&type={type}";
- url_album = "http://www.xiami.com/app/android/album?id={id}&uid={uid}";
- url_artist = "http://www.xiami.com/app/android/artist?id={id}";
- url_artist_albums = "http://www.xiami.com/app/android/artist-albums?id={id}&page={page}";
- url_artist_radio = "http://www.xiami.com/app/android/radio-artist?id={id}";
- url_artist_top_song = "http://www.xiami.com/app/android/artist-topsongs?id={id}";
- url_artsit_similars = "http://www.xiami.com/app/android/artist-similar?id={id}";
- url_collect = "http://www.xiami.com/app/android/collect?id={id}&uid={uid}";
- url_grade = "http://www.xiami.com/app/android/grade?id={id}&grade={grade}";
- url_lib_albums = "http://www.xiami.com/app/android/lib-albums?uid={uid}&page={page}";
- url_lib_artists = "http://www.xiami.com/app/android/lib-artists?uid={uid}&page={page}";
- url_lib_collects = "http://www.xiami.com/app/android/lib-collects?uid={uid}&page={page}";
- url_lib_songs = "http://www.xiami.com/app/android/lib-songs?uid={uid}&page={page}";
- url_myplaylist = "http://www.xiami.com/app/android/myplaylist?uid={uid}";
- url_myradiosongs = "http://www.xiami.com/app/android/lib-rnd?uid={uid}";
- url_playlog = "http://www.xiami.com/app/android/playlog?id={id}&uid={uid}";
- url_push_songs = "http://www.xiami.com/app/android/push-songs?uid={uid}&deviceid={deviceid}";
- url_radio = "http://www.xiami.com/app/android/radio?id={id}&uid={uid}";
- url_radio_categories = "http://www.xiami.com/app/android/radio-category";
- url_radio_similar = "http://www.xiami.com/app/android/radio-similar?id={id}&uid={uid}";
- url_rndsongs = "http://www.xiami.com/app/android/rnd?uid={uid}";
- url_search_all = "http://www.xiami.com/app/android/searchv1?key={key}";
- url_search_parts = "http://www.xiami.com/app/android/search-part?key={key}&type={type}&page={page}";
- '''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement