mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 08:17:08 -05:00 
			
		
		
		
	now downloads soundcloud songs, need to polish title grabbing and file naming
This commit is contained in:
		
							
								
								
									
										21
									
								
								youtube-dl
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								youtube-dl
									
									
									
									
									
								
							@@ -3533,10 +3533,10 @@ class SoundcloudIE(InfoExtractor):
 | 
			
		||||
		self.report_extraction('%s/%s' % (uploader, slug_title))
 | 
			
		||||
 | 
			
		||||
		# extract uid and access token
 | 
			
		||||
		mobj = re.search('"uid":"([\w\d]+?)".*?stream_token=([\w\d]+)', page)   
 | 
			
		||||
		mobj = re.search('"uid":"([\w\d]+?)".*?stream_token=([\w\d]+)', webpage)   
 | 
			
		||||
		if mobj:
 | 
			
		||||
			video_id = match.group(1)
 | 
			
		||||
			stream_token = match.group(2)
 | 
			
		||||
			video_id = mobj.group(1)
 | 
			
		||||
			stream_token = mobj.group(2)
 | 
			
		||||
 | 
			
		||||
		# construct media url (with uid/token) to request song
 | 
			
		||||
		mediaURL = "http://media.soundcloud.com/stream/%s?stream_token=%s"
 | 
			
		||||
@@ -3544,17 +3544,18 @@ class SoundcloudIE(InfoExtractor):
 | 
			
		||||
 | 
			
		||||
		# description
 | 
			
		||||
		description = u'No description available'
 | 
			
		||||
		mobj = re.search('track-description-value"><p>(.*?)</p>', page)
 | 
			
		||||
		mobj = re.search('track-description-value"><p>(.*?)</p>', webpage)
 | 
			
		||||
		if mobj:
 | 
			
		||||
			description = mobj.group(1)
 | 
			
		||||
		
 | 
			
		||||
		# upload date
 | 
			
		||||
		mobj = re.search("pretty-date'>on ([\w]+ [\d]+, [\d]+ \d+:\d+)</abbr></h2>", page)
 | 
			
		||||
		upload_date = None
 | 
			
		||||
		mobj = re.search("pretty-date'>on ([\w]+ [\d]+, [\d]+ \d+:\d+)</abbr></h2>", webpage)
 | 
			
		||||
		if mobj:
 | 
			
		||||
			try:
 | 
			
		||||
				upload_date = datetime.datetime.strptime(match.group(1), '%B %d, %Y %H:%M').strftime('%Y%m%d')
 | 
			
		||||
			except:
 | 
			
		||||
				pass
 | 
			
		||||
				upload_date = datetime.datetime.strptime(mobj.group(1), '%B %d, %Y %H:%M').strftime('%Y%m%d')
 | 
			
		||||
			except Exception as e:
 | 
			
		||||
				print str(e)
 | 
			
		||||
 | 
			
		||||
		# for soundcloud, a request must be made to a cross domain to establish
 | 
			
		||||
		# needed cookies
 | 
			
		||||
@@ -3563,10 +3564,10 @@ class SoundcloudIE(InfoExtractor):
 | 
			
		||||
		try:
 | 
			
		||||
			self._downloader.process_info({
 | 
			
		||||
				'id':		video_id,
 | 
			
		||||
				'url':		video_url,
 | 
			
		||||
				'url':		mediaURL,
 | 
			
		||||
				'uploader':	uploader,
 | 
			
		||||
				'upload_date':  upload_date,
 | 
			
		||||
				'title':	video_title,
 | 
			
		||||
				'title':	simple_title,
 | 
			
		||||
				'stitle':	simple_title,
 | 
			
		||||
				'ext':		u'mp3',
 | 
			
		||||
				'format':	u'NA',
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user