def download(): if not common.check_verify(request, session, db): return redirect('/') c = {} c['url'] = request.vars.url or '' c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] if c['url']: try: cj = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) opener.addheaders = [('User-Agent', request.env.http_user_agent)] urllib2.install_opener(opener) data = urllib.urlencode({ 'email': '*****@*****.**', 'pass': '******' }) link = 'http://www.facebook.com/login.php' f = opener.open(link) f = opener.open(link, data) except: return redirect('/') f = opener.open(c['url']) content = f.read() #f.close() # if close sure be occur cannot login try: data = lxml.etree.parse(cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='utf-8')) scripts = data.xpath( "//script[contains(text(),'video_src')]", namespaces={"regxp": "http://exslt.org/regular-expressions"}) except: return sj.dumps(['error']) title = data.xpath("//h3[@class='video_title datawrap']/text()") c['title'] = ''.join(title) output = '' for x in scripts: output += lxml.etree.tostring(x) output = urllib2.unquote(output) movie_url = output[output.find('video_src') + 13:output.find(')', output.find('video_src') + 9) - 1] #return movie_url c['movies'].append(movie_url) c['screen'].append('375x500') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('MPEG-4 AVC(H.264)') c['rate'].append('44100 Hz') c['paster'] = 'true' return sj.dumps(c)
def download(): if not common.check_verify(request, session, db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent': request.env.http_user_agent} #get video src xml try: http = httplib2.Http() resp, content = http.request(c['url'], headers=headers) data = lxml.etree.parse(cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='utf-8')) media = data.xpath( "//link[@rel='video_src']/@href", namespaces={"regxp": "http://exslt.org/regular-expressions"}) media = ''.join(media) media = media.rsplit("/", 1)[-1] media = media.split("&")[0] url = urllib2.quote(c['url']) xml_url = 'http://vlog.xuite.net/flash/player?media=%s==&refer=%s' % ( media, url) resp, content = http.request(xml_url, headers=headers) print xml_url except: return redirect('/') try: flv_src = urllib2.unquote( base64.decodestring( re.findall('<property id="c3Jj">(.*)]]></property>', content)[0][9:])) flv_size = base64.decodestring( re.findall('<property id="c2l6ZQ==">(.*)]]></property>', content)[0][9:]) c['title'] = urllib2.unquote( base64.decodestring( re.findall('<property id="dGl0bGU=">(.*)]]></property>', content)[0][9:])) #hq_src = urllib2.unquote(base64.decodestring(re.findall('<property id="aHFfc3Jj">(.*)]]></property>',content)[0][9:])) #print hq_src == '' c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(flv_src) c['screen'].append(flv_size) c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('MPEG-4 AVC(H.264)') c['rate'].append('44100 Hz') except: return sj.dumps(['error']) return sj.dumps(c)
def download(): if not common.check_verify(request, session, db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: auth = ''.join([(str(int(time.time()))), ' XOA== MWZlNWE4Y2Q4OWQ0NjEyMWJjZTJmMWNiYTVhNzQwZGM=']) auth = hashlib.md5(auth).hexdigest() videoid = c['url'].rsplit("/")[-1].split(".")[0][3:] #return videoid direct_url = ''.join([ ('http://api.youku.com/api_rest?method=video.getvideofile&'), 'pid=XOA==&ctime=%s&auth=%s&videoid=%s' % (int(time.time()), auth, videoid) ]) headers = {'User-Agent': request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(direct_url, headers=headers) except: return redirect('/') try: data = lxml.etree.parse(cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='utf-8')) movie_url = data.xpath( "//stream[contains(@type,'flv')]/seg[1]/@url", namespaces={"regxp": "http://exslt.org/regular-expressions"}) movie_url = ''.join(movie_url) #print movie_url except: return sj.dumps(['error']) try: resp, content = http.request(c['url'], headers=headers) except: return redirect('/') data = lxml.etree.parse(cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='utf-8')) title = data.xpath("//title/text()") c['title'] = ''.join(title) c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(movie_url) c['screen'].append('592x254') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('MPEG-4 AAC audio') c['rate'].append('44100 Hz') return sj.dumps(c)
def download(): if not common.check_verify(request,session,db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent':request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers = headers) except: return redirect('/') try: videoid = ''.join(re.findall("vid='(.*)'",content)) if not videoid: videoid = ''.join(re.findall("vid :'(.*)'",content)) if not videoid: return sj.dumps(['error']) flv_id = videoid.split("|")[0] if len(videoid.split("|")) > 1: hp_id = videoid.split("|")[1] resp, content = http.request('http://v.iask.com/v_play.php?vid=%s' % (flv_id), headers = headers) movie = re.findall('<url>.*</url>', content) c['title'] = re.findall('<vname>.*</vname>', content) c['title'] = c['title'][0][16:-11] c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] for x in movie: c['movies'].append(x[14:-9]) c['screen'].append('640x480') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('22050 Hz') if len(videoid.split("|")) > 1: resp, content = http.request('http://v.iask.com/v_play.php?vid=%s' % (hp_id), headers = headers) movie = re.findall('<url>.*</url>', content) for x in movie: c['movies'].append(x[14:-9]) c['screen'].append('640x480') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('44100 Hz') return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request, session, db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent': request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers=headers) except: return redirect('/') try: pid = c['url'].split('-')[-1].split('.')[0] if pid.count("http"): pid = c['url'].rsplit('/', 1)[-1].split('.')[0].split('_')[-1] if not pid: return sj.dumps(['error']) resp, content = http.request( 'http://vxml.56.com/json/%s/?src=site' % (pid), headers=headers) title = re.findall('"Subject":"(.*)","textid"', content) c['title'] = title[0] movie = re.findall( '"url":"(http://.*\.flv)","type":"normal".*"url":"(http://.*\.flv)"', content) if movie: movie = movie[0] if not movie: movie = re.findall('"url":"(http://.*\.flv)","type"', content) c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] for x in movie: c['movies'].append(x) c['screen'].append('576x432') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('48000 Hz') c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request,session,db): return redirect('/') c = {} c['url'] = request.vars.url or '' c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] if c['url']: try: cj = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) opener.addheaders = [('User-Agent', request.env.http_user_agent)] urllib2.install_opener(opener) data = urllib.urlencode({'email':'*****@*****.**','pass':'******'}) link = 'http://www.facebook.com/login.php' f = opener.open(link) f = opener.open(link,data) except: return redirect('/') f = opener.open(c['url']) content = f.read() #f.close() # if close sure be occur cannot login try: data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') ) scripts = data.xpath("//script[contains(text(),'video_src')]", namespaces={"regxp": "http://exslt.org/regular-expressions"}) except: return sj.dumps(['error']) title = data.xpath("//h3[@class='video_title datawrap']/text()") c['title'] = ''.join(title) output='' for x in scripts: output += lxml.etree.tostring(x) output = urllib2.unquote(output) movie_url = output[output.find('video_src')+13:output.find(')',output.find('video_src')+9)-1] #return movie_url c['movies'].append(movie_url) c['screen'].append('375x500') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('MPEG-4 AVC(H.264)') c['rate'].append('44100 Hz') c['paster'] = 'true' return sj.dumps(c)
def download(): if not common.check_verify(request, session, db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent': request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers=headers) except: return redirect('/') try: data = lxml.etree.parse(cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='utf-8')) scripts = data.xpath( "//script[contains(text(),'vdoPath')]", namespaces={"regxp": "http://exslt.org/regular-expressions"}) except: return sj.dumps(['error']) title = data.xpath("//title/text()") c['title'] = ''.join(title) c['title'] = c['title'].rsplit('-', 1)[0].strip() output = '' for x in scripts: output += lxml.etree.tostring(x) output = urllib2.unquote(output) movie_url = output[output.find('vdoPath=') + 8:output.find('"', output.find('vdoPath='))] c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(movie_url) c['screen'].append('320x239') c['sound'].append('mono') c['container'].append('FLV') c['encoding'].append('MPEG 1 Audio, Layer 3 (MP3)') c['rate'].append('22050 Hz') c['paster'] = 'true' return sj.dumps(c)
def download(): if not common.check_verify(request,session,db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: auth = ''.join([(str(int(time.time()))),' XOA== MWZlNWE4Y2Q4OWQ0NjEyMWJjZTJmMWNiYTVhNzQwZGM=']) auth = hashlib.md5(auth).hexdigest() videoid = c['url'].rsplit("/")[-1].split(".")[0][3:] #return videoid direct_url = ''.join([('http://api.youku.com/api_rest?method=video.getvideofile&'),'pid=XOA==&ctime=%s&auth=%s&videoid=%s'% (int(time.time()), auth, videoid)]) headers = {'User-Agent':request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(direct_url, headers = headers) except: return redirect('/') try: data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') ) movie_url = data.xpath("//stream[contains(@type,'flv')]/seg[1]/@url", namespaces={"regxp": "http://exslt.org/regular-expressions"}) movie_url = ''.join(movie_url) #print movie_url except: return sj.dumps(['error']) try: resp, content = http.request(c['url'], headers = headers) except: return redirect('/') data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') ) title = data.xpath("//title/text()") c['title'] = ''.join(title) c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(movie_url) c['screen'].append('592x254') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('MPEG-4 AAC audio') c['rate'].append('44100 Hz') return sj.dumps(c)
def download(): if not common.check_verify(request, session, db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent': request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers=headers) except: return redirect('/') try: title = re.findall('<title>(.*)</title>', content) data = lxml.etree.parse(cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='utf-8')) video_id = data.xpath( "//link[@rel='video_src']/@href", namespaces={"regxp": "http://exslt.org/regular-expressions"}) if video_id: video_id = video_id[0].rsplit('/', 1)[-1] resp, content = http.request( 'http://flv.bofunk.com/watch.php?file=%s' % video_id, headers=headers) movie = re.findall( '<PLAYER_SETTINGS Name="FLVPath" Value="(.*)"/>', content) movie = ''.join(movie) c['title'] = title c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(movie) c['screen'].append('320x240') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('22050 Hz') c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request, session, db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent': request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers=headers) except: return redirect('/') try: data = lxml.etree.parse(cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='utf-8')) c['title'] = scripts = data.xpath( "//h1[@class='heading']/span/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"}) c['title'] = ''.join(c['title']) scripts = data.xpath( "//link[@rel='audio_src']/@href", namespaces={"regxp": "http://exslt.org/regular-expressions"}) video_id = ''.join(scripts).split("=")[-1] url = 'http://mymedia.yam.com/api/a/?pID=%s' % (video_id) resp, content = http.request(url, headers=headers) video_src = content[content.find("mp3file=") + 8:content.find("&")] c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(video_src) c['screen'].append('None') c['sound'].append('stereo') c['container'].append('MP3') c['encoding'].append('MPEG 1 Audio, Layer 3 (MP3)') c['rate'].append('44100 Hz') c['paster'] = 'true' except: return sj.dumps(['error']) return sj.dumps(c)
def download(): if not common.check_verify(request,session,db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent':request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers = headers) except: return redirect('/') try: data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') ) scripts = data.xpath("//script[contains(text(),'vdoPath')]", namespaces={"regxp": "http://exslt.org/regular-expressions"}) except: return sj.dumps(['error']) title = data.xpath("//title/text()") c['title'] = ''.join(title) c['title'] = c['title'].rsplit('-',1)[0].strip() output='' for x in scripts: output += lxml.etree.tostring(x) output = urllib2.unquote(output) movie_url = output[output.find('vdoPath=')+8:output.find('"',output.find('vdoPath='))] c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(movie_url) c['screen'].append('320x239') c['sound'].append('mono') c['container'].append('FLV') c['encoding'].append('MPEG 1 Audio, Layer 3 (MP3)') c['rate'].append('22050 Hz') c['paster'] = 'true' return sj.dumps(c)
def download(): if not common.check_verify(request, session, db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent': request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers=headers) except: return redirect('/') try: vars = cgi.parse_qs(c['url'].split("?")[-1]) id = vars['id'][0] video_src = 'http://video.libertytimes.com.tw/media/flv/%s.flv' % ( id) print video_src if not video_src: return sj.dumps(['error']) data = lxml.etree.parse(cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='utf-8')) c['title'] = data.xpath( "//div[@id='videotitle']/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"}) c['title'] = c['title'][0] c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(video_src) c['screen'].append('480x386') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('MPEG 1 Audio, Layer 3 (MP3)') c['rate'].append('44100 Hz') #c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request,session,db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent':request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers = headers) except: return redirect('/') try: title = re.findall('<title>(.*)</title>', content) video_src = re.findall('sGlobalFileName=\'(.*)\';EmbedSEOLinkURL=', content) if video_src: video_src = video_src[0] token = re.findall('sGlobalToken=\'(.*)\';', content) if token: token = token[0] movie = video_src + '.flv?' + token c['title'] = title c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(movie) c['screen'].append('464x352') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('44100 Hz') c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request,session,db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent':request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers = headers) except: return redirect('/') try: title = re.findall('<title>(.*)</title>', content) data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') ) video_id = data.xpath("//link[@rel='video_src']/@href", namespaces={"regxp": "http://exslt.org/regular-expressions"}) if video_id: video_id = video_id[0].rsplit('/', 1)[-1] resp, content = http.request('http://flv.bofunk.com/watch.php?file=%s' % video_id, headers = headers) movie = re.findall('<PLAYER_SETTINGS Name="FLVPath" Value="(.*)"/>', content) movie = ''.join(movie) c['title'] = title c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(movie) c['screen'].append('320x240') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('22050 Hz') c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request, session, db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent': request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers=headers) except: return redirect('/') try: title = re.findall('<title>(.*)</title>', content) video_src = re.findall('sGlobalFileName=\'(.*)\';EmbedSEOLinkURL=', content) if video_src: video_src = video_src[0] token = re.findall('sGlobalToken=\'(.*)\';', content) if token: token = token[0] movie = video_src + '.flv?' + token c['title'] = title c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(movie) c['screen'].append('464x352') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('44100 Hz') c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request, session, db): return redirect('/') try: c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent': request.env.http_user_agent} http = httplib2.Http() resp, content = http.request(c['url'], headers=headers) title = re.findall('<title>(.*)</title>', content) clipid = re.findall('clip_id=(.*)', content) clipid = clipid[0].split('"')[0] resp, content = http.request( 'http://vimeo.com/moogaloop/load/clip:%s' % clipid, headers=headers) signature = re.findall( '<request_signature>(.*)</request_signature>', content) expires = re.findall( '<request_signature_expires>(.*)</request_signature_expires>', content) movie = 'http://vimeo.com/moogaloop/play/clip:%s/%s/%s/?q=hd&type=local&embed_location=' % ( clipid, signature[0], expires[0]) c['title'] = title c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(movie) c['screen'].append('640x480') c['sound'].append('stereo') c['container'].append('MP4') c['encoding'].append('H.264/AVC Video') c['rate'].append('44100 Hz') c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request, session, db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent': request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers=headers) except: return redirect('/') try: if content.count("embed src=http://www.youtube.com"): return sj.dumps(['error']) video_src = re.findall('(http://.*\.flv)', content) if not video_src: return sj.dumps(['error']) if video_src: video_src = video_src[0] data = lxml.etree.parse(cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='big5')) c['title'] = data.xpath( "//div[@class='filetitlebox']//strong/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"}) c['title'] = ''.join(c['title']) c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(video_src) c['screen'].append('640x360') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('22050 Hz') c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request, session, db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent': request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers=headers) except: return redirect('/') try: data = lxml.etree.parse(cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='utf-8')) title = data.xpath( "//title/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"}) title = title[0].strip() c['title'] = title movie = re.findall('videoUrl=(.*)&pageUrl=', content) movie = urllib2.unquote(movie[0]) c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(movie) c['screen'].append('1280x720') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('44100 Hz') c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request, session, db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent': request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers=headers) except: return redirect('/') try: sno = c['url'].split("sno=")[-1] url = 'http://video.udn.com/video/Item/ListRelateMD.do?sno=%s' % ( sno) resp, content = http.request(url, headers=headers) video_src = re.findall('<vc id="(.*)">', content) video_src = 'http://video.udn.com' + video_src[0] if not video_src: return sj.dumps(['error']) c['title'] = re.findall('<title>(.*)</title>', content) c['title'] = c['title'][0] c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(video_src) c['screen'].append('440x330') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('44100 Hz') #c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request,session,db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent':request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers = headers) except: return redirect('/') try: sno = c['url'].split("sno=")[-1] url = 'http://video.udn.com/video/Item/ListRelateMD.do?sno=%s' % (sno) resp, content = http.request(url, headers = headers) video_src = re.findall('<vc id="(.*)">',content) video_src = 'http://video.udn.com' + video_src[0] if not video_src: return sj.dumps(['error']) c['title'] = re.findall('<title>(.*)</title>',content) c['title'] = c['title'][0] c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(video_src) c['screen'].append('440x330') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('44100 Hz') #c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request,session,db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent':request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers = headers) except: return redirect('/') try: if content.count("embed src=http://www.youtube.com"): return sj.dumps(['error']) video_src = re.findall('(http://.*\.flv)',content) if not video_src: return sj.dumps(['error']) if video_src: video_src = video_src[0] data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='big5') ) c['title'] = data.xpath("//div[@class='filetitlebox']//strong/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"}) c['title'] = ''.join(c['title']) c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(video_src) c['screen'].append('640x360') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('22050 Hz') c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request,session,db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent':request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers = headers) except: return redirect('/') try: data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') ) c['title'] = scripts = data.xpath("//h1[@class='heading']/span/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"}) c['title'] = ''.join(c['title']) scripts = data.xpath("//link[@rel='audio_src']/@href", namespaces={"regxp": "http://exslt.org/regular-expressions"}) video_id = ''.join(scripts).split("=")[-1] url = 'http://mymedia.yam.com/api/a/?pID=%s' % (video_id) resp, content = http.request(url, headers = headers) video_src = content[content.find("mp3file=")+8:content.find("&")] c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(video_src) c['screen'].append('None') c['sound'].append('stereo') c['container'].append('MP3') c['encoding'].append('MPEG 1 Audio, Layer 3 (MP3)') c['rate'].append('44100 Hz') c['paster'] = 'true' except: return sj.dumps(['error']) return sj.dumps(c)
def download(): if not common.check_verify(request,session,db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent':request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers = headers) except: return redirect('/') try: vars = cgi.parse_qs(c['url'].split("?")[-1]) id = vars['id'][0] video_src = 'http://video.libertytimes.com.tw/media/flv/%s.flv' % (id) print video_src if not video_src: return sj.dumps(['error']) data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') ) c['title'] = data.xpath("//div[@id='videotitle']/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"}) c['title'] = c['title'][0] c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(video_src) c['screen'].append('480x386') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('MPEG 1 Audio, Layer 3 (MP3)') c['rate'].append('44100 Hz') #c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request,session,db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent':request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers = headers) except: return redirect('/') try: data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='big5') ) video_src = data.xpath("//param[@name='movie']/@value", namespaces={"regxp": "http://exslt.org/regular-expressions"}) video_src = video_src[0] vars = cgi.parse_qs(video_src.split("?")[-1]) id = vars['id'][0] cdate = vars['cdate'][0] video_src = 'http://www.nownews.com/flv/%s/%s.flv' % (cdate, id) c['title'] = data.xpath("//div[@id='video_top']//h1/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"}) c['title'] = c['title'][0] c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(video_src) c['screen'].append('400x300') c['sound'].append('mono') c['container'].append('FLV') c['encoding'].append('MPEG 1 Audio, Layer 3 (MP3)') c['rate'].append('22050 Hz') #c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request, session, db): return redirect('/') try: c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent': request.env.http_user_agent} http = httplib2.Http() resp, content = http.request(c['url'], headers=headers) title = re.findall('<title>(.*)</title>', content) if title: title = title[0] title = title[:title.find('FREE Streaming Online') - 2] video_src = re.findall('file=(.*)"', content) if video_src: movie = video_src[1] c['title'] = title c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(movie) c['screen'].append('320x240') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('22050 Hz') c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request,session,db): return redirect('/') try: c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent':request.env.http_user_agent} http = httplib2.Http() resp, content = http.request(c['url'], headers = headers) title = re.findall('<title>(.*)</title>', content) if title: title = title[0] title = title[:title.find('FREE Streaming Online')-2] video_src = re.findall('file=(.*)"', content) if video_src: movie = video_src[1] c['title'] = title c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(movie) c['screen'].append('320x240') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('22050 Hz') c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request,session,db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent':request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers = headers) except: return redirect('/') try: data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') ) title = data.xpath("//title/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"}) title = title[0].strip() c['title'] = title movie = re.findall('videoUrl=(.*)&pageUrl=', content) movie = urllib2.unquote(movie[0]) c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(movie) c['screen'].append('1280x720') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('44100 Hz') c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request, session, db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent': request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers=headers) except: return redirect('/') try: movie = re.findall('player.setPrimaryMediaUrl(.*)', content) movie = movie[0].split('?')[0][2:] title = re.findall('<div id="EpisodeTitle">(.*)</div>', content) c['title'] = title c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] c['movies'].append(movie) c['screen'].append('640x352') c['sound'].append('stereo') if movie.count('flv'): c['container'].append('FLV') else: c['container'].append('MP4') c['encoding'].append('H.264/AVC Video') c['rate'].append('44100 Hz') c['paster'] = 'true' return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request,session,db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent':request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers = headers) except: return redirect('/') try: video = re.findall('"file","(.*)"',content) if not video: video = re.findall('value="(http://www.youtube.com.*)"></param><param name="allowFullScreen"',content) if video: video = video[0] video = 'http://www.youtube.com/watch?v=%s' % video.split('/')[-1].split("&")[0] c['url'] = video http = httplib2.Http() resp, content = http.request(c['url'], headers = headers) data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') ) scripts = data.xpath("//script[contains(text(),'object')]", namespaces={"regxp": "http://exslt.org/regular-expressions"}) title = data.xpath("//span[@id='eow-title']/text()") c['title'] = ''.join(title) output='' for x in scripts: output += lxml.etree.tostring(x) output = urllib2.unquote(output) movie_url = output[output.find('fmt_url_map=')+12:output.find('&csi_page_type')] movie_urls = movie_url.split('|') #use for urlencode #movie_urls = movie_url.split('%7C') c['movies'] = [] for i in range(1, len(movie_urls)): #use for urlencode #movie_urls[i] = movie_urls[i].replace(movie_urls[i][movie_urls[i].find(','):],'') c['movies'].append(movie_urls[i].rsplit(',',1)[0]) format_text = output[output.find('fmt_list=')+9:output.find('&', output.find('fmt_list='))] formats = format_text.split(',') c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] screen = '' sound = '' container = '' encoding = '' rate = '' for x in formats: xx = x.split('/') #xx = x.split('%2F') f = xx[0] if f == '5': fmt = '240p' screen = '400x226' sound = 'stereo' container = 'FLV' encoding = 'H.263' rate = '22050 Hz' if f == '34': fmt = '360p' screen = '640x360' sound = 'stereo' container = 'FLV' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '35': fmt = '480p' screen = '851x480' sound = 'stereo' container = 'FLV' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '22': fmt = '720p' screen = '1280x720' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '37': fmt = '1080p' screen = '1920x1080' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '18': fmt = 'Medium' screen = '480x360' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '43': fmt = 'WebM 480p' screen = '854x480' sound = 'stereo' container = 'WebM' encoding = 'VP8' rate = '44100 Hz' if f == '45': fmt = 'WebM 720p' screen = '1280x720' sound = 'stereo' container = 'WebM' encoding = 'VP8' rate = '44100 Hz' if f == '17': fmt = 'Mobile' screen = '176x144' sound = 'stereo' container = '3GP' encoding = 'MPEG-4 Visual' rate = '44100 Hz' if f == '0, 5': fmt = 'Standard, Old formats (pre Feb 2009)' screen = '320x240' sound = 'mono' container = 'FLV' encoding = 'H.263' rate = '22050 Hz' if f == '6': fmt = 'High, Old formats (pre Feb 2009)' screen = '480x360' sound = 'mono' container = 'FLV' encoding = 'H.263' rate = '44100 Hz' if f == '13': fmt = 'Mobile, Old formats (pre Feb 2009)' screen = '176x144' sound = 'mono' container = '3GP' encoding = 'H.263' rate = '8000 Hz' c['screen'].append(screen) c['sound'].append(sound) c['container'].append(container) c['encoding'].append(encoding) c['rate'].append(rate) return sj.dumps(c) if video: if not video[0].count("http://www.youtube.com"): video_url = 'http://alcachondeo.com/' + video[0] else: c['url'] = video[0] http = httplib2.Http() try: resp, content = http.request(c['url'], headers = headers) except : return redirect('/') data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') ) scripts = data.xpath("//script[contains(text(),'object')]", namespaces={"regxp": "http://exslt.org/regular-expressions"}) title = data.xpath("//span[@id='eow-title']/text()") c['title'] = ''.join(title) output='' for x in scripts: output += lxml.etree.tostring(x) output = urllib2.unquote(output) movie_url = output[output.find('fmt_url_map=')+12:output.find('&csi_page_type')] movie_urls = movie_url.split('|') #use for urlencode #movie_urls = movie_url.split('%7C') c['movies'] = [] for i in range(1, len(movie_urls)): #use for urlencode #movie_urls[i] = movie_urls[i].replace(movie_urls[i][movie_urls[i].find(','):],'') c['movies'].append(movie_urls[i].rsplit(',',1)[0]) format_text = output[output.find('fmt_list=')+9:output.find('&', output.find('fmt_list='))] formats = format_text.split(',') c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] screen = '' sound = '' container = '' encoding = '' rate = '' for x in formats: xx = x.split('/') #xx = x.split('%2F') f = xx[0] if f == '5': fmt = '240p' screen = '400x226' sound = 'stereo' container = 'FLV' encoding = 'H.263' rate = '22050 Hz' if f == '34': fmt = '360p' screen = '640x360' sound = 'stereo' container = 'FLV' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '35': fmt = '480p' screen = '851x480' sound = 'stereo' container = 'FLV' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '22': fmt = '720p' screen = '1280x720' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '37': fmt = '1080p' screen = '1920x1080' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '18': fmt = 'Medium' screen = '480x360' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '43': fmt = 'WebM 480p' screen = '854x480' sound = 'stereo' container = 'WebM' encoding = 'VP8' rate = '44100 Hz' if f == '45': fmt = 'WebM 720p' screen = '1280x720' sound = 'stereo' container = 'WebM' encoding = 'VP8' rate = '44100 Hz' if f == '17': fmt = 'Mobile' screen = '176x144' sound = 'stereo' container = '3GP' encoding = 'MPEG-4 Visual' rate = '44100 Hz' if f == '0, 5': fmt = 'Standard, Old formats (pre Feb 2009)' screen = '320x240' sound = 'mono' container = 'FLV' encoding = 'H.263' rate = '22050 Hz' if f == '6': fmt = 'High, Old formats (pre Feb 2009)' screen = '480x360' sound = 'mono' container = 'FLV' encoding = 'H.263' rate = '44100 Hz' if f == '13': fmt = 'Mobile, Old formats (pre Feb 2009)' screen = '176x144' sound = 'mono' container = '3GP' encoding = 'H.263' rate = '8000 Hz' c['screen'].append(screen) c['sound'].append(sound) c['container'].append(container) c['encoding'].append(encoding) c['rate'].append(rate) return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request, session, db): return redirect('/') c = {} c['url'] = request.vars.url or '' c['page'] = request.vars.page or 1 if not c['url']: return redirect("/") #log to db db.download_log.insert(userip=request.env.remote_addr, query_string=c['url'], query_time=str(datetime.datetime.now())) keywords = None c['search_title'] = [] c['search_image'] = [] c['search_url'] = [] c['search_view'] = [] if c['url'].find("http://") == -1: #keywords = c['url'].replace(" ","+") keywords = c['url'] print keywords db.search_keywords.insert(keyword=keywords, userip=request.env.remote_addr, request_time=str(datetime.datetime.now())) http = httplib2.Http() url = 'http://www.youtube.com/results?aq=f&search_query=%s' % urllib2.quote( keywords) if c['page']: url = 'http://www.youtube.com/results?page=%s&search_query=%s' % ( c['page'], urllib2.quote(keywords)) #print 'http://www.youtube.com/results?search_query=%s' % urllib2.quote(keywords) resp, content = http.request(url, "GET", headers=headers) data = lxml.etree.parse(cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='utf-8')) scripts = data.xpath( "//div[@class='video-long-title']/a", namespaces={"regxp": "http://exslt.org/regular-expressions"}) for link in scripts: c['search_title'].append(''.join(link.xpath("@title"))) c['search_url'].append( urllib2.quote('http://www.youtube.com' + ''.join(link.xpath("@href")))) c['search_image'].append(''.join( link.xpath( "ancestor::div[@class='video-entry'][1]//img[not(contains(@src,'pixel-vfl73.gif'))]/@src|ancestor::div[@class='video-entry'][1]//img/@thumb" ))) c['search_view'].append(''.join( link.xpath( "following::span[@class='video-view-count'][1]/text()"))) c['search_record'] = ''.join( data.xpath("//div[@id='search-num-results']/strong[1]/text()")) c['search_results'] = ''.join( data.xpath("//div[@id='search-num-results']/strong[2]/text()")) print c['search_results'] else: #check support service. if c['url'].count('www.wretch.cc'): return redirect( URL(r=request, c='wretch', f='download', vars=dict(url=c['url']))) elif c['url'].count('tudou.com'): return redirect( URL(r=request, c='tudou', f='download', vars=dict(url=c['url']))) elif c['url'].count('youku.com'): return redirect( URL(r=request, c='youku', f='download', vars=dict(url=c['url']))) elif c['url'].count('facebook.com'): return redirect( URL(r=request, c='facebook', f='download', vars=dict(url=c['url']))) elif c['url'].count('vlog.xuite.net'): return redirect( URL(r=request, c='xuite', f='download', vars=dict(url=c['url']))) elif c['url'].count('mymedia.yam.com'): return redirect( URL(r=request, c='yam', f='download', vars=dict(url=c['url']))) elif c['url'].count('share.youthwant.com.tw'): return redirect( URL(r=request, c='youthwant', f='download', vars=dict(url=c['url']))) elif c['url'].count('video.sina.com.cn'): return redirect( URL(r=request, c='sina', f='download', vars=dict(url=c['url']))) elif c['url'].count('video.udn.com'): return redirect( URL(r=request, c='udn', f='download', vars=dict(url=c['url']))) elif c['url'].count('video.libertytimes.com.tw'): return redirect( URL(r=request, c='libertytimes', f='download', vars=dict(url=c['url']))) elif c['url'].count('nownews.com'): return redirect( URL(r=request, c='nownews', f='download', vars=dict(url=c['url']))) elif c['url'].count('openv.com'): return redirect( URL(r=request, c='openv', f='download', vars=dict(url=c['url']))) elif c['url'].count('www.56.com'): return redirect( URL(r=request, c='56', f='download', vars=dict(url=c['url']))) elif c['url'].count('www.5min.com'): return redirect( URL(r=request, c='5min', f='download', vars=dict(url=c['url']))) elif c['url'].count('alcachondeo.com'): return redirect( URL(r=request, c='alcachondeo', f='download', vars=dict(url=c['url']))) elif c['url'].count('blip.tv'): return redirect( URL(r=request, c='blip', f='download', vars=dict(url=c['url']))) elif c['url'].count('www.bofunk.com'): return redirect( URL(r=request, c='bofunk', f='download', vars=dict(url=c['url']))) elif c['url'].count('www.bollywoodhungama.com'): return redirect( URL(r=request, c='bollywoodhungama', f='download', vars=dict(url=c['url']))) elif c['url'].count('www.break.com'): return redirect( URL(r=request, c='breakcom', f='download', vars=dict(url=c['url']))) elif c['url'].count('www.buzzhumor.com'): return redirect( URL(r=request, c='buzzhumor', f='download', vars=dict(url=c['url']))) elif c['url'].count('buzznet.com'): return redirect( URL(r=request, c='buzznet', f='download', vars=dict(url=c['url']))) elif c['url'].count('vimeo.com'): return redirect( URL(r=request, c='vimeo', f='download', vars=dict(url=c['url']))) elif c['url'].count('youtube.com'): pass else: return sj.dumps(['error']) if c['url']: http = httplib2.Http() try: resp, content = http.request(c['url'], headers=headers) except: return redirect('/') data = lxml.etree.parse(cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='utf-8')) scripts = data.xpath( "//script[contains(text(),'object')]", namespaces={"regxp": "http://exslt.org/regular-expressions"}) title = data.xpath("//span[@id='eow-title']/text()") c['title'] = ''.join(title) output = '' for x in scripts: output += lxml.etree.tostring(x) output = urllib2.unquote(output) movie_url = output[output.find('fmt_url_map=') + 12:output.find('&csi_page_type')] movie_urls = movie_url.split('|') #use for urlencode #movie_urls = movie_url.split('%7C') c['movies'] = [] for i in range(1, len(movie_urls)): #use for urlencode #movie_urls[i] = movie_urls[i].replace(movie_urls[i][movie_urls[i].find(','):],'') c['movies'].append(movie_urls[i].rsplit(',', 1)[0]) format_text = output[output.find('fmt_list=') + 9:output.find('&', output.find('fmt_list='))] formats = format_text.split(',') c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] screen = '' sound = '' container = '' encoding = '' rate = '' for x in formats: xx = x.split('/') #xx = x.split('%2F') f = xx[0] if f == '5': fmt = '240p' screen = '400x226' sound = 'stereo' container = 'FLV' encoding = 'H.263' rate = '22050 Hz' if f == '34': fmt = '360p' screen = '640x360' sound = 'stereo' container = 'FLV' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '35': fmt = '480p' screen = '851x480' sound = 'stereo' container = 'FLV' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '22': fmt = '720p' screen = '1280x720' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '37': fmt = '1080p' screen = '1920x1080' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '18': fmt = 'Medium' screen = '480x360' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '43': fmt = 'WebM 480p' screen = '854x480' sound = 'stereo' container = 'WebM' encoding = 'VP8' rate = '44100 Hz' if f == '45': fmt = 'WebM 720p' screen = '1280x720' sound = 'stereo' container = 'WebM' encoding = 'VP8' rate = '44100 Hz' if f == '17': fmt = 'Mobile' screen = '176x144' sound = 'stereo' container = '3GP' encoding = 'MPEG-4 Visual' rate = '44100 Hz' if f == '0, 5': fmt = 'Standard, Old formats (pre Feb 2009)' screen = '320x240' sound = 'mono' container = 'FLV' encoding = 'H.263' rate = '22050 Hz' if f == '6': fmt = 'High, Old formats (pre Feb 2009)' screen = '480x360' sound = 'mono' container = 'FLV' encoding = 'H.263' rate = '44100 Hz' if f == '13': fmt = 'Mobile, Old formats (pre Feb 2009)' screen = '176x144' sound = 'mono' container = '3GP' encoding = 'H.263' rate = '8000 Hz' c['screen'].append(screen) c['sound'].append(sound) c['container'].append(container) c['encoding'].append(encoding) c['rate'].append(rate) c['paster'] = 'true' response.view = './youtube/index.beta.html' return sj.dumps(c)
def download(): if not common.check_verify(request, session, db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent': request.env.http_user_agent} http = httplib2.Http() try: resp, content = http.request(c['url'], headers=headers) except: return redirect('/') try: video = re.findall('"file","(.*)"', content) if not video: video = re.findall( 'value="(http://www.youtube.com.*)"></param><param name="allowFullScreen"', content) if video: video = video[0] video = 'http://www.youtube.com/watch?v=%s' % video.split( '/')[-1].split("&")[0] c['url'] = video http = httplib2.Http() resp, content = http.request(c['url'], headers=headers) data = lxml.etree.parse( cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='utf-8')) scripts = data.xpath( "//script[contains(text(),'object')]", namespaces={ "regxp": "http://exslt.org/regular-expressions" }) title = data.xpath("//span[@id='eow-title']/text()") c['title'] = ''.join(title) output = '' for x in scripts: output += lxml.etree.tostring(x) output = urllib2.unquote(output) movie_url = output[output.find('fmt_url_map=') + 12:output.find('&csi_page_type')] movie_urls = movie_url.split('|') #use for urlencode #movie_urls = movie_url.split('%7C') c['movies'] = [] for i in range(1, len(movie_urls)): #use for urlencode #movie_urls[i] = movie_urls[i].replace(movie_urls[i][movie_urls[i].find(','):],'') c['movies'].append(movie_urls[i].rsplit(',', 1)[0]) format_text = output[output.find('fmt_list=') + 9:output. find('&', output.find('fmt_list='))] formats = format_text.split(',') c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] screen = '' sound = '' container = '' encoding = '' rate = '' for x in formats: xx = x.split('/') #xx = x.split('%2F') f = xx[0] if f == '5': fmt = '240p' screen = '400x226' sound = 'stereo' container = 'FLV' encoding = 'H.263' rate = '22050 Hz' if f == '34': fmt = '360p' screen = '640x360' sound = 'stereo' container = 'FLV' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '35': fmt = '480p' screen = '851x480' sound = 'stereo' container = 'FLV' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '22': fmt = '720p' screen = '1280x720' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '37': fmt = '1080p' screen = '1920x1080' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '18': fmt = 'Medium' screen = '480x360' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '43': fmt = 'WebM 480p' screen = '854x480' sound = 'stereo' container = 'WebM' encoding = 'VP8' rate = '44100 Hz' if f == '45': fmt = 'WebM 720p' screen = '1280x720' sound = 'stereo' container = 'WebM' encoding = 'VP8' rate = '44100 Hz' if f == '17': fmt = 'Mobile' screen = '176x144' sound = 'stereo' container = '3GP' encoding = 'MPEG-4 Visual' rate = '44100 Hz' if f == '0, 5': fmt = 'Standard, Old formats (pre Feb 2009)' screen = '320x240' sound = 'mono' container = 'FLV' encoding = 'H.263' rate = '22050 Hz' if f == '6': fmt = 'High, Old formats (pre Feb 2009)' screen = '480x360' sound = 'mono' container = 'FLV' encoding = 'H.263' rate = '44100 Hz' if f == '13': fmt = 'Mobile, Old formats (pre Feb 2009)' screen = '176x144' sound = 'mono' container = '3GP' encoding = 'H.263' rate = '8000 Hz' c['screen'].append(screen) c['sound'].append(sound) c['container'].append(container) c['encoding'].append(encoding) c['rate'].append(rate) return sj.dumps(c) if video: if not video[0].count("http://www.youtube.com"): video_url = 'http://alcachondeo.com/' + video[0] else: c['url'] = video[0] http = httplib2.Http() try: resp, content = http.request(c['url'], headers=headers) except: return redirect('/') data = lxml.etree.parse( cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='utf-8')) scripts = data.xpath( "//script[contains(text(),'object')]", namespaces={ "regxp": "http://exslt.org/regular-expressions" }) title = data.xpath("//span[@id='eow-title']/text()") c['title'] = ''.join(title) output = '' for x in scripts: output += lxml.etree.tostring(x) output = urllib2.unquote(output) movie_url = output[output.find('fmt_url_map=') + 12:output.find('&csi_page_type')] movie_urls = movie_url.split('|') #use for urlencode #movie_urls = movie_url.split('%7C') c['movies'] = [] for i in range(1, len(movie_urls)): #use for urlencode #movie_urls[i] = movie_urls[i].replace(movie_urls[i][movie_urls[i].find(','):],'') c['movies'].append(movie_urls[i].rsplit(',', 1)[0]) format_text = output[output.find('fmt_list=') + 9:output. find('&', output.find('fmt_list='))] formats = format_text.split(',') c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] screen = '' sound = '' container = '' encoding = '' rate = '' for x in formats: xx = x.split('/') #xx = x.split('%2F') f = xx[0] if f == '5': fmt = '240p' screen = '400x226' sound = 'stereo' container = 'FLV' encoding = 'H.263' rate = '22050 Hz' if f == '34': fmt = '360p' screen = '640x360' sound = 'stereo' container = 'FLV' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '35': fmt = '480p' screen = '851x480' sound = 'stereo' container = 'FLV' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '22': fmt = '720p' screen = '1280x720' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '37': fmt = '1080p' screen = '1920x1080' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '18': fmt = 'Medium' screen = '480x360' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '43': fmt = 'WebM 480p' screen = '854x480' sound = 'stereo' container = 'WebM' encoding = 'VP8' rate = '44100 Hz' if f == '45': fmt = 'WebM 720p' screen = '1280x720' sound = 'stereo' container = 'WebM' encoding = 'VP8' rate = '44100 Hz' if f == '17': fmt = 'Mobile' screen = '176x144' sound = 'stereo' container = '3GP' encoding = 'MPEG-4 Visual' rate = '44100 Hz' if f == '0, 5': fmt = 'Standard, Old formats (pre Feb 2009)' screen = '320x240' sound = 'mono' container = 'FLV' encoding = 'H.263' rate = '22050 Hz' if f == '6': fmt = 'High, Old formats (pre Feb 2009)' screen = '480x360' sound = 'mono' container = 'FLV' encoding = 'H.263' rate = '44100 Hz' if f == '13': fmt = 'Mobile, Old formats (pre Feb 2009)' screen = '176x144' sound = 'mono' container = '3GP' encoding = 'H.263' rate = '8000 Hz' c['screen'].append(screen) c['sound'].append(sound) c['container'].append(container) c['encoding'].append(encoding) c['rate'].append(rate) return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request, session, db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] cj = cookielib.LWPCookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) opener.addheaders = [('User-Agent', request.env.http_user_agent)] urllib2.install_opener(opener) try: f = opener.open(c['url']) except: return redirect('/') cj.save(os.path.join(request.folder, 'static/tudou.cookie')) content = f.read() f.close() try: data = lxml.etree.parse(cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='gbk')) scripts = data.xpath( "//script[1]", namespaces={"regxp": "http://exslt.org/regular-expressions"}) title = data.xpath("//title/text()") c['title'] = ''.join(title) c['title'] = c['title'].rsplit(u'-', 1)[0].strip() output = '' for x in scripts: output += lxml.etree.tostring(x) output = urllib2.unquote(output) f = open('/tmp/test', 'wa') f.write(output) f.close() #if not find iid, that mean old format, using another code to capture movie_iid movie_iid = output[output.find('iid') + 5:output.find('iid') + 15] movie_iid = re.findall("\d{8,12}", movie_iid) if movie_iid: movie_iid = movie_iid[0] if len(movie_iid) == 0: scripts = data.xpath("//script[1]", namespaces={ "regxp": "http://exslt.org/regular-expressions" }) output = '' for x in scripts: output += lxml.etree.tostring(x) movie_iid = re.findall("\d{8,12}", output) if movie_iid: movie_iid = movie_iid[0] if len(movie_iid) == 0: movie_iid = re.findall("\d{8,12}", content) print movie_iid if movie_iid: movie_iid = movie_iid[0] f = opener.open('http://v2.tudou.com/v?it=%s' % (movie_iid)) content = f.read() f.close() data = lxml.etree.parse(cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='utf-8')) scripts = data.xpath( "//f/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"}) for x in scripts: c['movies'].append(x) c['screen'].append('448x336') c['sound'].append('stereo') c['container'].append('F4V') c['encoding'].append('MPEG-4 AAC audio') c['rate'].append('44100 Hz') c['paster'] = 'true' except: return sj.dumps(['error']) return sj.dumps(c)
def download(): if not common.check_verify(request,session,db): return redirect('/') try: c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent':request.env.http_user_agent} http = httplib2.Http() resp, content = http.request(c['url'], headers = headers) data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') ) title = data.xpath("//h1[@id='itemtitle']/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"}) if title: title = title[0] video_src = data.xpath("//link[@rel='video_src']/@href", namespaces={"regxp": "http://exslt.org/regular-expressions"}) if video_src: c['title'] = title c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] movie = video_src[0] if movie.count('http://vimeo.com/'): movie_id = movie.split('?')[1].split('&')[0].split('=')[1].split('&')[0] resp, content = http.request('http://vimeo.com/moogaloop/load/clip:%s' % movie_id, headers = headers) signature = re.findall('<request_signature>(.*)</request_signature>', content) expires = re.findall('<request_signature_expires>(.*)</request_signature_expires>',content) movie = 'http://vimeo.com/moogaloop/play/clip:%s/%s/%s/?q=hd&type=local&embed_location=' % (movie_id, signature[0], expires[0]) c['movies'].append(movie) c['screen'].append('640x480') c['sound'].append('stereo') c['container'].append('MP4') c['encoding'].append('H.264/AVC Video') c['rate'].append('44100 Hz') c['paster'] = 'true' return sj.dumps(c) c['movies'].append(movie) c['screen'].append('470x384') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('22050 Hz') c['paster'] = 'true' return sj.dumps(c) else: video_src = data.xpath("//param[@name='src']/@value", namespaces={"regxp": "http://exslt.org/regular-expressions"}) if video_src: video_src = video_src[0].rsplit('/',1)[-1].split('?')[0] c['url'] = 'http://www.youtube.com/watch?v=%s' % video_src http = httplib2.Http() resp, content = http.request(c['url'], headers = headers) data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') ) scripts = data.xpath("//script[contains(text(),'object')]", namespaces={"regxp": "http://exslt.org/regular-expressions"}) output='' for x in scripts: output += lxml.etree.tostring(x) output = urllib2.unquote(output) movie_url = output[output.find('fmt_url_map=')+12:output.find('&csi_page_type')] movie_urls = movie_url.split('|') #use for urlencode #movie_urls = movie_url.split('%7C') c['movies'] = [] for i in range(1, len(movie_urls)): #use for urlencode #movie_urls[i] = movie_urls[i].replace(movie_urls[i][movie_urls[i].find(','):],'') c['movies'].append(movie_urls[i].rsplit(',',1)[0]) format_text = output[output.find('fmt_list=')+9:output.find('&', output.find('fmt_list='))] formats = format_text.split(',') c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] screen = '' sound = '' container = '' encoding = '' rate = '' for x in formats: xx = x.split('/') #xx = x.split('%2F') f = xx[0] if f == '5': fmt = '240p' screen = '400x226' sound = 'stereo' container = 'FLV' encoding = 'H.263' rate = '22050 Hz' if f == '34': fmt = '360p' screen = '640x360' sound = 'stereo' container = 'FLV' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '35': fmt = '480p' screen = '851x480' sound = 'stereo' container = 'FLV' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '22': fmt = '720p' screen = '1280x720' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '37': fmt = '1080p' screen = '1920x1080' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '18': fmt = 'Medium' screen = '480x360' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '43': fmt = 'WebM 480p' screen = '854x480' sound = 'stereo' container = 'WebM' encoding = 'VP8' rate = '44100 Hz' if f == '45': fmt = 'WebM 720p' screen = '1280x720' sound = 'stereo' container = 'WebM' encoding = 'VP8' rate = '44100 Hz' if f == '17': fmt = 'Mobile' screen = '176x144' sound = 'stereo' container = '3GP' encoding = 'MPEG-4 Visual' rate = '44100 Hz' if f == '0, 5': fmt = 'Standard, Old formats (pre Feb 2009)' screen = '320x240' sound = 'mono' container = 'FLV' encoding = 'H.263' rate = '22050 Hz' if f == '6': fmt = 'High, Old formats (pre Feb 2009)' screen = '480x360' sound = 'mono' container = 'FLV' encoding = 'H.263' rate = '44100 Hz' if f == '13': fmt = 'Mobile, Old formats (pre Feb 2009)' screen = '176x144' sound = 'mono' container = '3GP' encoding = 'H.263' rate = '8000 Hz' c['screen'].append(screen) c['sound'].append(sound) c['container'].append(container) c['encoding'].append(encoding) c['rate'].append(rate) c['paster'] = 'true' if not c['movie']: return sj.dumps(['error']) return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request,session,db): return redirect('/') c = {} c['url'] = request.vars.url or '' if c['url']: c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] cj = cookielib.LWPCookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) opener.addheaders = [('User-Agent', request.env.http_user_agent)] urllib2.install_opener(opener) try: f = opener.open(c['url']) except: return redirect('/') cj.save(os.path.join(request.folder,'static/tudou.cookie')) content = f.read() f.close() try: data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='gbk') ) scripts = data.xpath("//script[1]", namespaces={"regxp": "http://exslt.org/regular-expressions"}) title = data.xpath("//title/text()") c['title'] = ''.join(title) c['title'] = c['title'].rsplit(u'-',1)[0].strip() output='' for x in scripts: output += lxml.etree.tostring(x) output = urllib2.unquote(output) f=open('/tmp/test','wa') f.write(output) f.close() #if not find iid, that mean old format, using another code to capture movie_iid movie_iid = output[output.find('iid')+5:output.find('iid')+15] movie_iid = re.findall("\d{8,12}", movie_iid) if movie_iid: movie_iid = movie_iid[0] if len(movie_iid) == 0: scripts = data.xpath("//script[1]", namespaces={"regxp": "http://exslt.org/regular-expressions"}) output='' for x in scripts: output += lxml.etree.tostring(x) movie_iid = re.findall("\d{8,12}", output) if movie_iid: movie_iid = movie_iid[0] if len(movie_iid) == 0: movie_iid = re.findall("\d{8,12}", content) print movie_iid if movie_iid: movie_iid = movie_iid[0] f = opener.open('http://v2.tudou.com/v?it=%s' % (movie_iid)) content = f.read() f.close() data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') ) scripts = data.xpath("//f/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"}) for x in scripts: c['movies'].append(x) c['screen'].append('448x336') c['sound'].append('stereo') c['container'].append('F4V') c['encoding'].append('MPEG-4 AAC audio') c['rate'].append('44100 Hz') c['paster'] = 'true' except: return sj.dumps(['error']) return sj.dumps(c)
def download(): if not common.check_verify(request, session, db): return redirect('/') try: c = {} c['url'] = request.vars.url or '' if c['url']: headers = {'User-Agent': request.env.http_user_agent} http = httplib2.Http() resp, content = http.request(c['url'], headers=headers) data = lxml.etree.parse(cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='utf-8')) title = data.xpath( "//h1[@id='itemtitle']/text()", namespaces={"regxp": "http://exslt.org/regular-expressions"}) if title: title = title[0] video_src = data.xpath( "//link[@rel='video_src']/@href", namespaces={"regxp": "http://exslt.org/regular-expressions"}) if video_src: c['title'] = title c['movies'] = [] c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] movie = video_src[0] if movie.count('http://vimeo.com/'): movie_id = movie.split('?')[1].split('&')[0].split( '=')[1].split('&')[0] resp, content = http.request( 'http://vimeo.com/moogaloop/load/clip:%s' % movie_id, headers=headers) signature = re.findall( '<request_signature>(.*)</request_signature>', content) expires = re.findall( '<request_signature_expires>(.*)</request_signature_expires>', content) movie = 'http://vimeo.com/moogaloop/play/clip:%s/%s/%s/?q=hd&type=local&embed_location=' % ( movie_id, signature[0], expires[0]) c['movies'].append(movie) c['screen'].append('640x480') c['sound'].append('stereo') c['container'].append('MP4') c['encoding'].append('H.264/AVC Video') c['rate'].append('44100 Hz') c['paster'] = 'true' return sj.dumps(c) c['movies'].append(movie) c['screen'].append('470x384') c['sound'].append('stereo') c['container'].append('FLV') c['encoding'].append('H.264/AVC Video') c['rate'].append('22050 Hz') c['paster'] = 'true' return sj.dumps(c) else: video_src = data.xpath( "//param[@name='src']/@value", namespaces={ "regxp": "http://exslt.org/regular-expressions" }) if video_src: video_src = video_src[0].rsplit('/', 1)[-1].split('?')[0] c['url'] = 'http://www.youtube.com/watch?v=%s' % video_src http = httplib2.Http() resp, content = http.request(c['url'], headers=headers) data = lxml.etree.parse( cStringIO.StringIO(content), lxml.etree.HTMLParser(encoding='utf-8')) scripts = data.xpath( "//script[contains(text(),'object')]", namespaces={ "regxp": "http://exslt.org/regular-expressions" }) output = '' for x in scripts: output += lxml.etree.tostring(x) output = urllib2.unquote(output) movie_url = output[output.find('fmt_url_map=') + 12:output.find('&csi_page_type')] movie_urls = movie_url.split('|') #use for urlencode #movie_urls = movie_url.split('%7C') c['movies'] = [] for i in range(1, len(movie_urls)): #use for urlencode #movie_urls[i] = movie_urls[i].replace(movie_urls[i][movie_urls[i].find(','):],'') c['movies'].append(movie_urls[i].rsplit(',', 1)[0]) format_text = output[output.find('fmt_list=') + 9:output. find('&', output.find('fmt_list='))] formats = format_text.split(',') c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] screen = '' sound = '' container = '' encoding = '' rate = '' for x in formats: xx = x.split('/') #xx = x.split('%2F') f = xx[0] if f == '5': fmt = '240p' screen = '400x226' sound = 'stereo' container = 'FLV' encoding = 'H.263' rate = '22050 Hz' if f == '34': fmt = '360p' screen = '640x360' sound = 'stereo' container = 'FLV' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '35': fmt = '480p' screen = '851x480' sound = 'stereo' container = 'FLV' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '22': fmt = '720p' screen = '1280x720' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '37': fmt = '1080p' screen = '1920x1080' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '18': fmt = 'Medium' screen = '480x360' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '43': fmt = 'WebM 480p' screen = '854x480' sound = 'stereo' container = 'WebM' encoding = 'VP8' rate = '44100 Hz' if f == '45': fmt = 'WebM 720p' screen = '1280x720' sound = 'stereo' container = 'WebM' encoding = 'VP8' rate = '44100 Hz' if f == '17': fmt = 'Mobile' screen = '176x144' sound = 'stereo' container = '3GP' encoding = 'MPEG-4 Visual' rate = '44100 Hz' if f == '0, 5': fmt = 'Standard, Old formats (pre Feb 2009)' screen = '320x240' sound = 'mono' container = 'FLV' encoding = 'H.263' rate = '22050 Hz' if f == '6': fmt = 'High, Old formats (pre Feb 2009)' screen = '480x360' sound = 'mono' container = 'FLV' encoding = 'H.263' rate = '44100 Hz' if f == '13': fmt = 'Mobile, Old formats (pre Feb 2009)' screen = '176x144' sound = 'mono' container = '3GP' encoding = 'H.263' rate = '8000 Hz' c['screen'].append(screen) c['sound'].append(sound) c['container'].append(container) c['encoding'].append(encoding) c['rate'].append(rate) c['paster'] = 'true' if not c['movie']: return sj.dumps(['error']) return sj.dumps(c) except: return sj.dumps(['error'])
def download(): if not common.check_verify(request,session,db): return redirect('/') c = {} c['url'] = request.vars.url or '' c['page'] = request.vars.page or 1 if not c['url']: return redirect("/") #log to db db.download_log.insert( userip = request.env.remote_addr, query_string = c['url'], query_time = str(datetime.datetime.now()) ) keywords = None c['search_title'] = [] c['search_image'] = [] c['search_url'] = [] c['search_view'] = [] if c['url'].find("http://")==-1: #keywords = c['url'].replace(" ","+") keywords = c['url'] print keywords db.search_keywords.insert( keyword = keywords, userip = request.env.remote_addr, request_time = str(datetime.datetime.now()) ) http = httplib2.Http() url = 'http://www.youtube.com/results?aq=f&search_query=%s' % urllib2.quote(keywords) if c['page']: url = 'http://www.youtube.com/results?page=%s&search_query=%s' % (c['page'], urllib2.quote(keywords)) #print 'http://www.youtube.com/results?search_query=%s' % urllib2.quote(keywords) resp, content = http.request(url, "GET", headers = headers ) data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') ) scripts = data.xpath("//div[@class='video-long-title']/a", namespaces={"regxp": "http://exslt.org/regular-expressions"}) for link in scripts: c['search_title'].append( ''.join(link.xpath("@title")) ) c['search_url'].append( urllib2.quote('http://www.youtube.com' + ''.join(link.xpath("@href"))) ) c['search_image'].append( ''.join(link.xpath("ancestor::div[@class='video-entry'][1]//img[not(contains(@src,'pixel-vfl73.gif'))]/@src|ancestor::div[@class='video-entry'][1]//img/@thumb")) ) c['search_view'].append( ''.join(link.xpath("following::span[@class='video-view-count'][1]/text()")) ) c['search_record'] = ''.join(data.xpath("//div[@id='search-num-results']/strong[1]/text()")) c['search_results'] = ''.join(data.xpath("//div[@id='search-num-results']/strong[2]/text()")) print c['search_results'] else: #check support service. if c['url'].count('www.wretch.cc'): return redirect(URL(r=request,c='wretch',f='download', vars=dict(url=c['url']))) elif c['url'].count('tudou.com'): return redirect(URL(r=request,c='tudou',f='download', vars=dict(url=c['url']))) elif c['url'].count('youku.com'): return redirect(URL(r=request,c='youku',f='download', vars=dict(url=c['url']))) elif c['url'].count('facebook.com'): return redirect(URL(r=request,c='facebook',f='download', vars=dict(url=c['url']))) elif c['url'].count('vlog.xuite.net'): return redirect(URL(r=request,c='xuite',f='download', vars=dict(url=c['url']))) elif c['url'].count('mymedia.yam.com'): return redirect(URL(r=request,c='yam',f='download', vars=dict(url=c['url']))) elif c['url'].count('share.youthwant.com.tw'): return redirect(URL(r=request,c='youthwant',f='download', vars=dict(url=c['url']))) elif c['url'].count('video.sina.com.cn'): return redirect(URL(r=request,c='sina',f='download', vars=dict(url=c['url']))) elif c['url'].count('video.udn.com'): return redirect(URL(r=request,c='udn',f='download', vars=dict(url=c['url']))) elif c['url'].count('video.libertytimes.com.tw'): return redirect(URL(r=request,c='libertytimes',f='download', vars=dict(url=c['url']))) elif c['url'].count('nownews.com'): return redirect(URL(r=request,c='nownews',f='download', vars=dict(url=c['url']))) elif c['url'].count('openv.com'): return redirect(URL(r=request,c='openv',f='download', vars=dict(url=c['url']))) elif c['url'].count('www.56.com'): return redirect(URL(r=request,c='56',f='download', vars=dict(url=c['url']))) elif c['url'].count('www.5min.com'): return redirect(URL(r=request,c='5min',f='download', vars=dict(url=c['url']))) elif c['url'].count('alcachondeo.com'): return redirect(URL(r=request,c='alcachondeo',f='download', vars=dict(url=c['url']))) elif c['url'].count('blip.tv'): return redirect(URL(r=request,c='blip',f='download', vars=dict(url=c['url']))) elif c['url'].count('www.bofunk.com'): return redirect(URL(r=request,c='bofunk',f='download', vars=dict(url=c['url']))) elif c['url'].count('www.bollywoodhungama.com'): return redirect(URL(r=request,c='bollywoodhungama',f='download', vars=dict(url=c['url']))) elif c['url'].count('www.break.com'): return redirect(URL(r=request,c='breakcom',f='download', vars=dict(url=c['url']))) elif c['url'].count('www.buzzhumor.com'): return redirect(URL(r=request,c='buzzhumor',f='download', vars=dict(url=c['url']))) elif c['url'].count('buzznet.com'): return redirect(URL(r=request,c='buzznet',f='download', vars=dict(url=c['url']))) elif c['url'].count('vimeo.com'): return redirect(URL(r=request,c='vimeo',f='download', vars=dict(url=c['url']))) elif c['url'].count('youtube.com'): pass else: return sj.dumps(['error']) if c['url']: http = httplib2.Http() try: resp, content = http.request(c['url'], headers = headers) except : return redirect('/') data = lxml.etree.parse( cStringIO.StringIO(content) ,lxml.etree.HTMLParser(encoding='utf-8') ) scripts = data.xpath("//script[contains(text(),'object')]", namespaces={"regxp": "http://exslt.org/regular-expressions"}) title = data.xpath("//span[@id='eow-title']/text()") c['title'] = ''.join(title) output='' for x in scripts: output += lxml.etree.tostring(x) output = urllib2.unquote(output) movie_url = output[output.find('fmt_url_map=')+12:output.find('&csi_page_type')] movie_urls = movie_url.split('|') #use for urlencode #movie_urls = movie_url.split('%7C') c['movies'] = [] for i in range(1, len(movie_urls)): #use for urlencode #movie_urls[i] = movie_urls[i].replace(movie_urls[i][movie_urls[i].find(','):],'') movie_url = movie_urls[i].rsplit(',',1)[0] bitly = 'http://api.bit.ly/v3/shorten?login=gogocow&apiKey=R_993990c67c691a15467f452eb07c1532&longUrl=%s&format=json' % (urllib.quote(movie_url)) resp, content = http.request(bitly, "GET", headers = headers ) c['movies'].append(content['url']) format_text = output[output.find('fmt_list=')+9:output.find('&', output.find('fmt_list='))] formats = format_text.split(',') c['screen'] = [] c['sound'] = [] c['container'] = [] c['encoding'] = [] c['rate'] = [] screen = '' sound = '' container = '' encoding = '' rate = '' for x in formats: xx = x.split('/') #xx = x.split('%2F') f = xx[0] if f == '5': fmt = '240p' screen = '400x226' sound = 'stereo' container = 'FLV' encoding = 'H.263' rate = '22050 Hz' if f == '34': fmt = '360p' screen = '640x360' sound = 'stereo' container = 'FLV' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '35': fmt = '480p' screen = '851x480' sound = 'stereo' container = 'FLV' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '22': fmt = '720p' screen = '1280x720' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '37': fmt = '1080p' screen = '1920x1080' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '18': fmt = 'Medium' screen = '480x360' sound = 'stereo' container = 'MP4' encoding = 'MPEG-4 AVC(H.264)' rate = '44100 Hz' if f == '43': fmt = 'WebM 480p' screen = '854x480' sound = 'stereo' container = 'WebM' encoding = 'VP8' rate = '44100 Hz' if f == '45': fmt = 'WebM 720p' screen = '1280x720' sound = 'stereo' container = 'WebM' encoding = 'VP8' rate = '44100 Hz' if f == '17': fmt = 'Mobile' screen = '176x144' sound = 'stereo' container = '3GP' encoding = 'MPEG-4 Visual' rate = '44100 Hz' if f == '0, 5': fmt = 'Standard, Old formats (pre Feb 2009)' screen = '320x240' sound = 'mono' container = 'FLV' encoding = 'H.263' rate = '22050 Hz' if f == '6': fmt = 'High, Old formats (pre Feb 2009)' screen = '480x360' sound = 'mono' container = 'FLV' encoding = 'H.263' rate = '44100 Hz' if f == '13': fmt = 'Mobile, Old formats (pre Feb 2009)' screen = '176x144' sound = 'mono' container = '3GP' encoding = 'H.263' rate = '8000 Hz' c['screen'].append(screen) c['sound'].append(sound) c['container'].append(container) c['encoding'].append(encoding) c['rate'].append(rate) c['paster'] = 'true' response.view = './youtube/index.beta.html' return sj.dumps(c)